feat: consolidate event search teasers

addresses #869e4n8py
This commit is contained in:
Björn Fromme
2026-07-14 16:29:21 +02:00
parent 12bcb9360c
commit 9c5a6747bc
4 changed files with 135 additions and 33 deletions
@@ -38,6 +38,8 @@
</f:if>
<span class="product-teaser__label-concept">{concept.name}</span>
</div>
<f:if condition="{hideWatchlist}">
<f:else>
<button type="button"
data-controller="watchlist-toggle"
data-watchlist-toggle-key-value="{hotel.uid}:{product.uid}"
@@ -47,6 +49,8 @@
aria-label="auf die Merkliste setzen">
<svg class="product-teaser__watchlist-icon" data-watchlist-toggle-target="icon" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path></svg>
</button>
</f:else>
</f:if>
</div>
<f:if condition="{new}">
<div class="absolute top-12 left-2 text-white font-bold text-sm leading-none p-1 bg-badge-gradient">
@@ -64,24 +64,43 @@
</button>
</div>
<div class="grid grid-cols-2 xl:grid-cols-3 gap-4 md:gap-8"
data-teasergrid-target="container">
data-teasergrid-target="container">
<f:for each="{section.items}" as="item">
<f:if condition="{section.concept.code} == 'evt'">
<f:then>
<f:variable name="searchProductImage" value="{item.product.images.original.0}"/>
<f:variable name="searchForceHotelUid" value="0"/>
<f:variable name="searchShowHotelDetails" value="0"/>
<f:variable name="searchHideWatchlist" value="1"/>
<f:variable name="searchDateFrom" value=""/>
<f:variable name="searchDateTo" value=""/>
</f:then>
<f:else>
<f:variable name="searchProductImage" value="{item.hotel.images.original.0}"/>
<f:variable name="searchForceHotelUid" value="1"/>
<f:variable name="searchShowHotelDetails" value="1"/>
<f:variable name="searchHideWatchlist" value="0"/>
<f:variable name="searchDateFrom" value="{item.minDateStart}"/>
<f:variable name="searchDateTo" value="{item.maxDateEnd}"/>
</f:else>
</f:if>
<f:render partial="Product/Teaser" section="Teaser" arguments="{
concept: section.concept,
hotel: item.hotel,
product: item.product,
country: item.country,
region: item.region,
productImage: item.hotel.images.original.0,
nights: item.nights,
productImage: searchProductImage,
nights: item.teaserNights,
board: item.board,
minPrice: item.minPrice,
daytrip: item.daytrip,
season: item.season,
dateFrom: item.minDateStart,
dateTo: item.maxDateEnd,
forceHotelUid: 1,
showHotelDetails: 1,
dateFrom: searchDateFrom,
dateTo: searchDateTo,
forceHotelUid: searchForceHotelUid,
showHotelDetails: searchShowHotelDetails,
hideWatchlist: searchHideWatchlist,
new: item.new,
skiPassIncluded: item.skiPassIncluded,
referringPageUri: referringPageUri