- Site configs for the seven live sites from EP/website, Development base variants on *-ep13.ddev.site (DDEV additional_hostnames) - Webpack Encore build moved to the root, output in packages/ep_theme/Resources/Public, public path /_assets/<hash> - Search UI removed from the kept layouts and partials, as the static export already does - Daytrip room selection and the contingent chain removed (contingent import is not ported; no daytrip product has current contingents) - f:uri.action is final in v13: Uri\AjaxViewHelper invokes it - Remaining QueryBuilder::execute() and array logicalAnd() calls, addRootLineFields, TSFE getData, legacy typo3conf/ext template path - Rector skips the plugin-to-CType rules; plugins stay list_type Co-Authored-By: Claude Opus 5.5 <[email protected]>
160 lines
8.9 KiB
HTML
160 lines
8.9 KiB
HTML
<html data-namespace-typo3-fluid="true" lang="en"
|
|
xmlns="http://www.w3.org/1999/xhtml"
|
|
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
|
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
|
|
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
|
|
|
<f:section name="Main">
|
|
<div class="fixed hover-hover:lg:hidden top-0 left-0 inset-0 w-screen h-screen pt-14 hover-none:lg:pt-20 pb-10 z-50 bg-zinc-700 hidden"
|
|
data-controller="overlay-toggle"
|
|
data-overlay-toggle-id-value="mobilenav"
|
|
data-overlay-toggle-target="overlay"
|
|
data-action="overlay-toggle:toggle@window->overlay-toggle#toggle">
|
|
<div class="fixed top-0 left-0 z-100 inset-x-0 px-4 py-2 hover-none:lg:py-4 flex justify-between bg-white shadow-md">
|
|
<f:link.typolink parameter="{f:if(condition: settings.logoLink, then: settings.logoLink, else: settings.defaultHomeUid)}"
|
|
class="block hover-hover:lg:pb-4"
|
|
title="zur Startseite">
|
|
<f:image class="block h-10 lg:h-12 w-auto" src="{settings.logoImage}" alt="Bildmarke"/>
|
|
</f:link.typolink>
|
|
<div class="flex hover-hover:lg:hidden items-center space-x-4">
|
|
<button type="button"
|
|
class="focus:outline-none"
|
|
aria-label="Navigation schließen"
|
|
data-action="overlay-toggle#invokeToggle">
|
|
{ep:icon(icon: 'close', class: 'w-8 h-8')}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="h-full w-full overflow-y-scroll">
|
|
<f:render section="Topnav" arguments="{navigation: mobilenav}"/>
|
|
<f:comment><!--Render topnav additionally on event sites--></f:comment>
|
|
<f:if condition="{settings.topNavPid} != {settings.mobileNavPid}">
|
|
<f:render section="Topnav" arguments="{navigation: topnav, borderTop: 1}"/>
|
|
</f:if>
|
|
<div class="px-4 py-4 mt-4">
|
|
<p class="text-lg text-white uppercase font-bold mb-1">
|
|
Du hast Fragen?
|
|
</p>
|
|
<p class="text-white uppercase mb-4">
|
|
Wir können helfen!
|
|
</p>
|
|
<div class="grid grid-cols-4 gap-x-2">
|
|
<a href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}"
|
|
class="button bg-button flex items-center space-x-2"
|
|
rel="nofollow">
|
|
{ep:icon(icon: 'phone', class: 'w-6 h-6 text-white')}
|
|
<span class="hidden sm:block">
|
|
Anrufen
|
|
</span>
|
|
</a>
|
|
<f:if condition="{settings.whatsApp}">
|
|
<a href="https://api.whatsapp.com/send?phone={settings.whatsAppNumberLink}"
|
|
class="button bg-button flex items-center space-x-2"
|
|
rel="nofollow"
|
|
target="_blank">
|
|
{ep:icon(icon: 'whatsapp', class: 'w-6 h-6 text-white')}
|
|
<span class="hidden sm:block">
|
|
Whatsapp
|
|
</span>
|
|
</a>
|
|
</f:if>
|
|
<f:if condition="{settings.faqPageUid}">
|
|
<a href="{f:uri.typolink(parameter: settings.faqPageUid)}"
|
|
class="button bg-button flex items-center space-x-2">
|
|
{ep:icon(icon: 'faq', class: 'w-6 h-6 text-white')}
|
|
<span class="hidden sm:block">
|
|
FAQ
|
|
</span>
|
|
</a>
|
|
</f:if>
|
|
<f:if condition="{settings.myEpPageUid}">
|
|
<f:link.typolink parameter="{settings.myEpPageUid}"
|
|
class="button bg-button flex items-center space-x-2">
|
|
{ep:icon(icon: 'user', class: 'w-6 h-6 text-white')}
|
|
<span class="hidden sm:block">
|
|
My E&P
|
|
</span>
|
|
</f:link.typolink>
|
|
</f:if>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</f:section>
|
|
|
|
<f:section name="Topnav">
|
|
<ul class="divide-y divide-ep-primary-dark{f:if(condition: borderTop, then: ' border-t border-ep-primary-dark')}">
|
|
<f:for each="{navigation}" as="navitem">
|
|
<f:if condition="{navitem.children}">
|
|
<f:then>
|
|
<li data-controller="collapse"
|
|
data-collapse-collapsed-value="{f:if(condition: navitem.active, then: 'false', else: 'true')}">
|
|
<div class="flex items-center justify-between px-4 py-2 text-white {f:if(condition: navitem.data.tx_eptheme_navitemclass, then: navitem.data.tx_eptheme_navitemclass, else: 'bg-ep-primary')}">
|
|
<a href="{navitem.link}"
|
|
class="uppercase text-xl flex-1">
|
|
{navitem.title}
|
|
</a>
|
|
<button type="button"
|
|
class="focus:outline-none bg-ep-primary-dark p-1"
|
|
aria-label="Unternavigation öffnen"
|
|
data-action="collapse#toggle">
|
|
{ep:icon(icon: 'chevron-right', class: 'w-6 h-6 text-white', data: '{collapse-target: \'icon\'}')}
|
|
</button>
|
|
</div>
|
|
<div data-collapse-target="container" class="bg-ep-primary-dark pr-4">
|
|
<f:render section="Subnav" arguments="{children: navitem.children, level: 2}"/>
|
|
</div>
|
|
</li>
|
|
</f:then>
|
|
<f:else>
|
|
<li>
|
|
<a href="{navitem.link}"
|
|
class="block px-4 py-2 text-white uppercase text-xl {f:if(condition: navitem.data.tx_eptheme_navitemclass, then: navitem.data.tx_eptheme_navitemclass, else: 'bg-ep-primary')}">
|
|
{navitem.title}
|
|
</a>
|
|
</li>
|
|
</f:else>
|
|
</f:if>
|
|
</f:for>
|
|
</ul>
|
|
</f:section>
|
|
|
|
<f:section name="Subnav">
|
|
<ul class="text-white uppercase{f:if(condition: '{level} == 2', then: ' pl-4 divide-y divide-white/50')}{f:if(condition: '{level} == 3', then: ' pl-6')}{f:if(condition: '{level} > 3', then: ' ml-4 divide-y divide-white/50')}">
|
|
<f:for each="{children}" as="subitem">
|
|
<f:if condition="{subitem.children}">
|
|
<f:then>
|
|
<li class="py-2"
|
|
data-controller="collapse"
|
|
data-collapse-collapsed-value="{f:if(condition: subitem.active, then: 'false', else: 'true')}">
|
|
<div class="flex items-center justify-between">
|
|
<a href="{subitem.link}"
|
|
class="flex-1">
|
|
{subitem.title}
|
|
</a>
|
|
<button type="button"
|
|
class="focus:outline-none bg-ep-primary p-1"
|
|
aria-label="Unternavigation öffnen"
|
|
data-action="collapse#toggle">
|
|
{ep:icon(icon: 'chevron-right', class: 'w-6 h-6 text-white', data: '{collapse-target: \'icon\'}')}
|
|
</button>
|
|
</div>
|
|
<div data-collapse-target="container">
|
|
<f:render section="Subnav" arguments="{children: subitem.children, level: '{level + 1}'}"/>
|
|
</div>
|
|
</li>
|
|
</f:then>
|
|
<f:else>
|
|
<li class="py-2">
|
|
<a href="{subitem.link}">
|
|
{subitem.title}
|
|
</a>
|
|
</li>
|
|
</f:else>
|
|
</f:if>
|
|
</f:for>
|
|
</ul>
|
|
</f:section>
|
|
|
|
</html>
|