Merge branch 'feature/myep-next' into develop

This commit is contained in:
Björn Fromme
2025-06-02 13:31:27 +02:00
14 changed files with 346 additions and 118 deletions
@@ -9,7 +9,7 @@
title="zur Startseite">
<f:image src="{settings.logoImage}"
class="block w-auto {ep:themeClasses(classes: '{ep: \'h-10 lg:h-12\', sbw: \'h-14 lg:h-24\', snz: \'h-14 lg:h-24\', suz: \'h-14 lg:h-24\', uch: \'h-12 lg:h-20\', ser: \'h-10 lg:h-12\'}', key: settings.themekey)}"
alt="Logo"/>
alt="Bildmarke"/>
</f:link.typolink>
<f:link.typolink parameter="{settings.myEpPageUid}"
title="My E&P"
@@ -7,7 +7,7 @@
<f:section name="Main">
<div class="container relative">
<div class="h-80 lg:h-128">
<f:image image="{travelinfo.headerImage}"
<f:image image="{travelInfo.headerImage}"
width="1280"
alt="Reiseinformationen"
class="block w-full h-full object-cover object-center" />
@@ -18,8 +18,8 @@
</div>
<div class="grid grid-cols-2 lg:grid-cols-4">
<f:variable name="bgColors" value="{0: 'bg-[#165883]/90', 1: 'bg-[#9DBACE]/90', 2: 'bg-[#3396E4]/90', 3: 'bg-[#0268AA]/90'}"/>
<f:variable name="linksCount" value="{travelinfo.links -> f:count()}"/>
<f:for each="{travelinfo.links}" as="link" iteration="iteration">
<f:variable name="linksCount" value="{travelInfo.links -> f:count()}"/>
<f:for each="{travelInfo.links}" as="link" iteration="iteration">
<f:render section="Link" arguments="{item: link, color: '{bgColors.{iteration.index}}'}"/>
</f:for>
<a href="#goodtoknow"
@@ -40,13 +40,13 @@
<div class="pb-32 pt-32 lg:pt-52 -mt-24 bg-ep-primary-bg">
<div class="container px-8 lg:px-24" data-rte-content>
<h1 class="headline--underlined headline--has-subline">
<span class="subline">{travelinfo.subline}</span>
{travelinfo.headline}
<span class="subline">{travelInfo.subline}</span>
{travelInfo.headline}
</h1>
{travelinfo.introText -> f:format.html()}
{travelInfo.introText -> f:format.html()}
<f:if condition="{date}">
<p>
{date.product.name} {date.dateStart -> f:format.date(format: 'd.m.Y')} - {date.dateEnd -> f:format.date(format: 'd.m.Y')}
{travelData.label} {travelData.dateFrom -> f:format.date(format: 'd.m.Y')} - {travelData.dateTo -> f:format.date(format: 'd.m.Y')}
</p>
</f:if>
</div>
@@ -63,20 +63,22 @@
</div>
<div class="lg:w-3/4 pt-8 lg:pt-0 lg:px-8 text-white" data-rte-content>
<f:if condition="{date}">
<f:if condition="{travelinfo.hideAddress}">
<f:if condition="{travelInfo.hideAddress}">
<f:else>
<h3 class="text-white">
Adresse
</h3>
<p>
{date.hotel.name}
{travelData.hotel.name}
<br>
{date.hotel.address -> f:format.nl2br()}
{travelData.hotel.street}
<br>
{travelData.hotel.country} {travelData.hotel.city}
</p>
</f:else>
</f:if>
<f:if condition="{date.pickups -> f:count()} > 0">
<f:if condition="{date.pickups -> f:count()} <= 3">
<f:if condition="{travelData.pickupsTo -> f:count()} > 0">
<f:if condition="{travelData.pickupsTo -> f:count()} <= 3">
<f:then>
<f:render section="Pickups" arguments="{_all}"/>
</f:then>
@@ -98,11 +100,11 @@
</f:if>
</f:if>
</f:if>
<f:if condition="{travelinfo.selfArrangedText}">
<f:if condition="{travelInfo.selfArrangedText}">
<h3 class="text-white">
Eigenanreise
</h3>
{travelinfo.selfArrangedText -> f:format.html()}
{travelInfo.selfArrangedText -> f:format.html()}
</f:if>
</div>
</div>
@@ -114,13 +116,13 @@
</h2>
</div>
<div class="container px-4 lg:px-24 flex flex-col space-y-16 pb-16">
<f:for each="{travelinfo.teasers}" as="teaser">
<f:for each="{travelInfo.teasers}" as="teaser">
<f:render section="Teaser" arguments="{_all}"/>
</f:for>
</div>
<div id="goodtoknow" class="bg-ep-primary-bg">
<div class="container">
<f:if condition="{travelinfo.additionalInfo}">
<f:if condition="{travelInfo.additionalInfo}">
<div class="flex flex-col lg:flex-row divide-y lg:divide-y-0 lg:divide-x divide-white bg-[#B48F1D] px-8 lg:px-0 py-8">
<div class="lg:w-1/4 flex flex-col space-y-4 pb-8 lg:pb-0 lg:px-8">
<div class="w-32 h-32 xl:w-16 xl:h-16 text-[#F9C700]">
@@ -131,11 +133,11 @@
</div>
</div>
<div class="lg:w-3/4 pt-8 lg:pt-0 lg:px-8 text-white" data-rte-content>
{travelinfo.additionalInfo -> f:format.html()}
{travelInfo.additionalInfo -> f:format.html()}
</div>
</div>
</f:if>
<f:if condition="{travelinfo.importantPhoneNumbers}">
<f:if condition="{travelInfo.importantPhoneNumbers}">
<div class="flex flex-col lg:flex-row divide-y lg:divide-y-0 lg:divide-x divide-white bg-[#F8C62F] px-8 lg:px-0 py-8">
<div class="lg:w-1/4 flex flex-col space-y-4 pb-8 lg:pb-0 lg:px-8">
<div class="text-2xl lg:text-4xl text-white uppercase font-bold">
@@ -143,18 +145,18 @@
</div>
</div>
<div class="lg:w-3/4 pt-8 lg:pt-0 lg:px-8 text-white" data-rte-content>
<f:if condition="{date.guide}">
<f:if condition="{travelData.guide}">
<p>
<strong>Busbegleitung / Reiseleitung</strong>
<br>
{date.guide.name} {date.guide.phone}
{travelData.guide.name} {travelData.guide.phone}
</p>
</f:if>
{travelinfo.importantPhoneNumbers -> f:format.html()}
{travelInfo.importantPhoneNumbers -> f:format.html()}
</div>
</div>
</f:if>
<f:if condition="{travelinfo.importantLinks}">
<f:if condition="{travelInfo.importantLinks}">
<div class="flex flex-col lg:flex-row divide-y lg:divide-y-0 lg:divide-x divide-white bg-[#18527B] px-8 lg:px-0 py-8">
<div class="lg:w-1/4 flex flex-col space-y-4 pb-8 lg:pb-0 lg:px-8">
<div class="text-2xl lg:text-4xl text-white uppercase font-bold">
@@ -162,18 +164,18 @@
</div>
</div>
<div class="lg:w-3/4 pt-8 lg:pt-0 lg:px-8 text-white" data-rte-content>
{travelinfo.importantLinks -> f:format.html()}
{travelInfo.importantLinks -> f:format.html()}
</div>
</div>
</f:if>
</div>
</div>
<div class="container px-4 lg:px-24 py-16">
{travelinfo.footerText -> f:format.html()}
{travelInfo.footerText -> f:format.html()}
<f:image src="EXT:ep_theme/Resources/Public/images/signature_ep_team.png" class="block w-full max-w-64 h-auto mt-8" alt="" />
</div>
<div class="container">
<f:image image="{travelinfo.footerImage}" width="1028" class="block w-full h-auto" alt="" />
<f:image image="{travelInfo.footerImage}" width="1028" class="block w-full h-auto" alt="" />
</div>
</f:section>
@@ -196,20 +198,28 @@
<h2 class="headline--primary">
{teaser.title}
</h2>
<f:if condition="{date}">
<f:if condition="{travelData}">
<f:if condition="{teaser.category} == 'food'">
<p>
{date.board}
</p>
<f:if condition="{board -> f:count()} > 0">
<f:then>
<ul>
<f:for as="item" each="{board}">
<li>
{item.label}
</li>
</f:for>
</ul>
</f:then>
</f:if>
</f:if>
<f:if condition="{teaser.category} == 'course'">
<f:if condition="{date.activeCoursesForTravelinfo -> f:count()} > 0">
<f:if condition="{courses -> f:count()} > 0">
<f:then>
<p>
<strong>Folgende Kurse finden statt</strong>
</p>
<ul>
<f:for as="course" each="{date.activeCoursesForTravelinfo}">
<f:for as="course" each="{courses}">
<li>
{course.label}
</li>
@@ -257,7 +267,7 @@
<p>
Bitte findet euch mindestens <strong>20 Minuten vor Abfahrt</strong> an der gebuchten Haltestelle ein.
</p>
{travelinfo.busInfoText -> f:format.html()}
{travelInfo.busInfoText -> f:format.html()}
<table class="w-full bg-zinc-200 text-zinc-800 text-xs md:text-base mb-4">
<tr>
<th class="border-r border-white/50 px-2 py-1 md:p-2 text-left text-sm md:text-base">
@@ -267,18 +277,18 @@
Datum/Uhrzeit
</th>
</tr>
<f:for each="{date.pickups}" as="pickup">
<f:for each="{travelData.pickupsTo}" as="pickup">
<tr class="odd:bg-zinc-50 align-top">
<td class="border-r border-zinc-200 px-2 py-1 md:p-2">
{pickup.city}<br><span class="text-xs">{pickup.street}</span>
</td>
<td class="border-r border-zinc-200 px-2 py-1 md:p-2">
{pickup.date}<br>{f:if(condition: pickup.time, then: '{pickup.time} Uhr', else: '???')}
{pickup.time -> f:format.date(format: 'd.m.Y')}<br>{pickup.time -> f:format.date(format: 'H:i')} Uhr
</td>
</tr>
</f:for>
</table>
{travelinfo.departureText -> f:format.html()}
{travelInfo.departureText -> f:format.html()}
</f:section>
<f:section name="Icon">
@@ -6,6 +6,6 @@
<f:section name="Main">
<f:render partial="Travelinfo" section="Main" arguments="{_all}"/>
</f:section>
</f:section>
</html>