Enable hiding of booking buttons in teasers and searchresult

This commit is contained in:
Björn Fromme
2020-02-05 12:41:32 +01:00
parent 7b008804bf
commit 88a48fa3a4
13 changed files with 51 additions and 24 deletions
@@ -36,7 +36,7 @@
<tbody>
<tr v-for="(row, index) of datesRows" :class="{ 'hidden': index > 4 && !showAll }">
<td class="dates-table__cell dates-table__cell--date">
<template v-if="bookable && row.available">
<template v-if="bookable && row.available && !row.isHideBookingButton">
<a class="dates-table__date" href="#"
@click.prevent="loadPriceTable(row.dateUid)">
{{ row.dateStart }} - {{ row.dateEnd }}
@@ -71,9 +71,9 @@
class="hidden-sm hidden-md hidden-lg"><i class="fa fa-info-circle"></i></a>
</td>
<td class="dates-table__cell dates-table__cell--buttons hidden-xs">
<button v-if="row.available" class="button button--small" @click="loadPriceTable(row.dateUid)">Details</button>
<a :href="row.bookingUrl" target="_blank" v-if="row.available" class="button button--small button--action">Buchen</a>
<span v-if="!row.available" class="label label-default">ausgebucht</span>
<button v-if="row.available || row.isHideBookingButton" class="button button--small" @click="loadPriceTable(row.dateUid)">Details</button>
<a :href="row.bookingUrl" target="_blank" v-if="row.available && !row.isHideBookingButton" class="button button--small button--action">Buchen</a>
<span v-if="!row.available && !row.isHideBookingButton" class="label label-default">ausgebucht</span>
</td>
</tr>
</tbody>
@@ -83,7 +83,7 @@
<div class="col-xs-12 col-md-6">
<a href="#" v-if="datesRows.length > 5" @click.prevent="toggleAllDates()">
<i class="fa" :class="[{ 'fa-minus-circle': showAll }, { 'fa-plus-circle': !showAll }]"></i>
Alle Termine <template v-if="showAll">aus</template><template v-else>ein</template>blenden
<template v-if="showAll">Weniger Termine anzeigen</template><template v-else>Alle Termine anzeigen</template>
</a>
</div>
<div class="col-xs-12 col-md-6">
@@ -38,7 +38,7 @@
<td style="white-space: normal">
<a class="pricetable__room-label"
:href="row.bookingUrl" target="_blank">{{ row.roomName }}</a>
<div class="hidden-lg" v-if="row.roomAvailable">
<div class="hidden-lg" v-if="row.roomAvailable && !row.isHideBookingButton">
<a class="button button--small button--action"
:href="row.bookingUrl" target="_blank">Jetzt buchen</a>
</div>
@@ -46,7 +46,7 @@
<span class="label label-default">ausgebucht</span>
</div>
</td>
<td style="white-space: nowrap" :style="{'text-decoration': !row.roomAvailable ? 'line-through' : ''}">{{ calculatePrice(row) }} </td>
<td style="white-space: nowrap" :style="{'text-decoration': !row.roomAvailable && !row.isHideBookingButton ? 'line-through' : ''}">{{ calculatePrice(row) }} </td>
<td>
<i v-if="showBusIcon(row)" data-placement="top" title="Busfahrt inklusive" class="fa fa-bus tooltiptoggle"></i>
<i v-if="row.dateSkipassIncluded" data-placement="top" title="Skipass inklusive" class="fa fa-tag tooltiptoggle"></i>
@@ -75,9 +75,9 @@
</div>
</td>
<td class="hidden-xs hidden-md">
<a class="button button--small button--action" v-if="row.roomAvailable"
<a class="button button--small button--action" v-if="row.roomAvailable && !row.isHideBookingButton"
:href="row.bookingUrl" target="_blank">Buchen</a>
<span v-if="!row.roomAvailable" class="label label-default">ausgebucht</span>
<span v-if="!row.roomAvailable && !row.isHideBookingButton" class="label label-default">ausgebucht</span>
</td>
</tr>
</tbody>
@@ -56,8 +56,8 @@
<div class="teaserbox__aside__bottom">
<span class="searchresult-item__price">ab {{ item.minPrice }} </span>
<a :href="url" class="button button--full searchresult-item__button"
rel="nofollow" title="Details &amp; Buchen">
Details &amp; Buchen
rel="nofollow" title="Details">
Details<template v-if="!item.hideBookingButton"> &amp; Buchen</template>
</a>
</div>
</div>
@@ -41,6 +41,9 @@
<trans-unit id="tx_eptheme.label.teaserbutton.product">
<target>Details &amp; Buchen</target>
</trans-unit>
<trans-unit id="tx_eptheme.label.teaserbutton.product_no_booking">
<target>Details</target>
</trans-unit>
<trans-unit id="tx_eptheme_domain_model_lineup">
<target>Lineup</target>
</trans-unit>
@@ -40,6 +40,9 @@
<trans-unit id="tx_eptheme.label.teaserbutton.product">
<source>Details &amp; Buchen</source>
</trans-unit>
<trans-unit id="tx_eptheme.label.teaserbutton.product_no_booking">
<source>Details</source>
</trans-unit>
<trans-unit id="tx_eptheme_domain_model_lineup">
<source>Lineup</source>
</trans-unit>
@@ -86,7 +86,12 @@
<div class="teaserbox__back">
{teaser.product.teaser -> f:format.html()}
</div>
<button class="button button--full teaserbox__button" title="{teaser.product.name}">{f:translate(key: 'tx_eptheme.label.teaserbutton.product', extensionName: 'ep_theme')}</button>
<button class="button button--full teaserbox__button" title="{teaser.product.name}">
<f:if condition="{teaser.hideBookingButton}">
<f:then>{f:translate(key: 'tx_eptheme.label.teaserbutton.product', extensionName: 'ep_theme')}</f:then>
<f:else>{f:translate(key: 'tx_eptheme.label.teaserbutton.product_no_booking', extensionName: 'ep_theme')}</f:else>
</f:if>
</button>
</div>
</f:section>
@@ -94,7 +94,12 @@
</div>
<div class="teaserbox__aside__bottom">
<span class="searchresult-item__price">ab {teaser.minPrice} €{f:if(condition: teaser.pseudoPrice, then: ' <s class="searchresult-item__pseudo-price">{teaser.pseudoPrice} €</s>')}</span>
<a href="{teaserUrl}" title="{teaser.product.name}" class="button button--full searchresult-item__button">Details &amp; Buchen</a>
<a href="{teaserUrl}" title="{teaser.product.name}" class="button button--full searchresult-item__button">
<f:if condition="{teaser.hideBookingButton}">
<f:then>{f:translate(key: 'tx_eptheme.label.teaserbutton.product', extensionName: 'ep_theme')}</f:then>
<f:else>{f:translate(key: 'tx_eptheme.label.teaserbutton.product_no_booking', extensionName: 'ep_theme')}</f:else>
</f:if>
</a>
</div>
</div>
<watchlist-toggle uid="{teaser.key}" class="teaserbox-watchlist"></watchlist-toggle>