feat: contact, text with image, YouTube/Vimeo video, disrupter and map elements on TYPO3 13
Restored from a46918d, TCA ported to TYPO3 13. Their markup matches
TYPO3 10 on every page that renders. Headers with the default layout
stay hidden, as on TYPO3 10.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
49b96df21a
commit
2999abc16c
19 files changed
+746
No files matched your search
@@ -0,0 +1,63 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<div class="{ep:themeClasses(classes: '{ep: \'bg-ep-primary-dark\', sbw: \'bg-sbw-primary/80\', snz: \'bg-snz-primary/80\', suz: \'bg-suz-primary/80\', uch: \'bg-uch-primary/80\'}', key: settings.themekey)} my-2">
|
||||
<f:if condition="{settings.themeKey} == 'ep'">
|
||||
<f:render partial="Disrupter/Outlines"
|
||||
section="Top1"
|
||||
arguments="{classes: 'hidden md:block -translate-y-2 {f:if(condition: \'{data.tx_eptheme_background} == 1 || {data.tx_eptheme_background} == 3\', then: \'text-ep-primary-bg\', else: \'text-white\')}'}"/>
|
||||
</f:if>
|
||||
<div class="relative container grid grid-cols-2 gap-8 py-4">
|
||||
<div class="col-span-2 md:col-span-1">
|
||||
<div class="relative max-w-md mx-auto mb-8">
|
||||
<f:if condition="{image}">
|
||||
<f:image image="{image}"
|
||||
loading="lazy"
|
||||
class="block w-full h-auto rounded-full"
|
||||
width="400"
|
||||
height="400c"
|
||||
alt="{image.alternative}" />
|
||||
</f:if>
|
||||
<a href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}"
|
||||
rel="nofollow"
|
||||
class="absolute bottom-0 left-1/2 -translate-x-1/2 -mb-8 rounded-full py-4 px-6 flex items-center space-x-2 {ep:themeClasses(classes: '{ep: \'bg-ep-secondary\', sbw: \'bg-sbw-secondary\', snz: \'bg-snz-secondary\', suz: \'bg-suz-secondary\', uch: \'bg-uch-secondary\'}', key: settings.themekey)}">
|
||||
{ep:icon(icon: 'phone', class: 'w-10 h-10 text-white')}
|
||||
<div class="text-center text-white">
|
||||
<span class="block whitespace-nowrap">
|
||||
Ihr habt Fragen?
|
||||
</span>
|
||||
<span class="block whitespace-nowrap">
|
||||
Wir helfen euch gerne!
|
||||
</span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-2 md:col-span-1">
|
||||
<span class="headline--secondary font-light text-white">{data.subheadline}</span>
|
||||
<span class="headline--secondary uppercase font-light text-white mb-4">{data.headline}</span>
|
||||
<div class="text-white" data-rte-content>
|
||||
{data.bodytext -> f:format.html()}
|
||||
</div>
|
||||
<f:if condition="{data.flexForm.buttons}">
|
||||
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4 lg:gap-8">
|
||||
<f:for each="{data.flexForm.buttons}" as="button">
|
||||
<f:link.typolink parameter="{button.container.link}"
|
||||
class="button bg-button--secondary shadow-lg">
|
||||
{button.container.label}
|
||||
</f:link.typolink>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:if>
|
||||
</div>
|
||||
</div>
|
||||
<f:if condition="{settings.themeKey} == 'ep'">
|
||||
<f:render partial="Disrupter/Outlines"
|
||||
section="Bottom1"
|
||||
arguments="{classes: 'hidden md:block translate-y-2 {f:if(condition: \'{data.tx_eptheme_background} == 2 || {data.tx_eptheme_background} == 3\', then: \'text-ep-primary-bg\', else: \'text-white\')}'}"/>
|
||||
</f:if>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,29 @@
|
||||
<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:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<div class="bg-ep-primary-dark my-2">
|
||||
<f:render partial="Disrupter/Outlines"
|
||||
section="Top1"
|
||||
arguments="{classes: 'hidden md:block -translate-y-2 {f:if(condition: \'{data.tx_eptheme_background} == 1 || {data.tx_eptheme_background} == 3\', then: \'text-ep-primary-bg\', else: \'text-white\')}'}"/>
|
||||
<div class="max-w-screen-lg mx-auto" data-rte-content>
|
||||
<div>
|
||||
{data.headline}
|
||||
</div>
|
||||
<div>
|
||||
{data.text -> f:format.html()}
|
||||
</div>
|
||||
<div>
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info">
|
||||
{button.container.label -> f:format.raw()}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<f:render partial="Disrupter/Outlines"
|
||||
section="Bottom1"
|
||||
arguments="{classes: 'hidden md:block translate-y-2 {f:if(condition: \'{data.tx_eptheme_background} == 2 || {data.tx_eptheme_background} == 3\', then: \'text-ep-primary-bg\', else: \'text-white\')}'}"/>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,30 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:alias map="{button: data.flexForm.buttons.0}">
|
||||
<div class="container-fluid ep-disturber-reminder">
|
||||
<div data-rte-content>
|
||||
{data.headline}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" title="{button.container.label -> f:format.raw()}">
|
||||
<f:if condition="{image}">
|
||||
<f:image image="{image}"
|
||||
loading="lazy"
|
||||
class="block w-full h-auto rounded-full"
|
||||
width="400"
|
||||
alt="{image.alternative}" />
|
||||
</f:if>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-6" data-rte-content>
|
||||
{data.text -> f:format.html()}
|
||||
</div>
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info">
|
||||
{button.container.label -> f:format.raw()}
|
||||
</a>
|
||||
</div>
|
||||
</f:alias>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,42 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<div class="{ep:themeClasses(classes: '{ep: \'bg-ep-primary-dark\', sbw: \'bg-sbw-primary/80\', snz: \'bg-snz-primary/80\', suz: \'bg-suz-primary/80\', uch: \'bg-uch-primary/80\'}', key: settings.themekey)} my-2">
|
||||
<f:render partial="Disrupter/Outlines"
|
||||
section="Top1"
|
||||
arguments="{classes: 'hidden md:block -translate-y-2 {f:if(condition: \'{background} == 1 || {background} == 3\', then: \'text-ep-primary-bg\', else: \'text-white\')}'}"/>
|
||||
<div class="max-w-screen-lg mx-auto py-4">
|
||||
<div class="md:flex md:items-start py-4">
|
||||
<div class="px-16 pb-4 md:px-4 md:pb-0 md:w-1/6">
|
||||
<f:if condition="{image}">
|
||||
<f:image image="{image}"
|
||||
loading="lazy"
|
||||
class="block w-full h-auto rounded-full"
|
||||
width="400"
|
||||
height="400c"
|
||||
alt="{image.alternative}" />
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="px-16 md:px-4 md:w-5/6 md:pl-8 text-center text-white md:text-left" data-rte-content>
|
||||
<span class="headline--3 text-white uppercase">{data.headline}</span>
|
||||
{data.text -> f:format.html()}
|
||||
<div class="flex flex-col space-y-4 md:flex-row md:items-center md:space-y-0 md:space-x-4">
|
||||
<f:for each="{data.flexForm.buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 3">
|
||||
<f:link.typolink parameter="{button.container.link}" class="button bg-button--secondary shadow-lg">
|
||||
{button.container.label}
|
||||
</f:link.typolink>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<f:render partial="Disrupter/Outlines"
|
||||
section="Bottom1"
|
||||
arguments="{classes: 'hidden md:block translate-y-2 {f:if(condition: \'{background} == 2 || {background} == 3\', then: \'text-ep-primary-bg\', else: \'text-white\')}'}"/>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,31 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"
|
||||
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers">
|
||||
|
||||
<f:layout name="Default"/>
|
||||
|
||||
<f:section name="Main">
|
||||
<div class="bg-zinc-50 p-4 mb-8">
|
||||
<div class="grid grid-cols-3 gap-4">
|
||||
<div class="col-span-1">
|
||||
<f:if condition="{contact.0.image.0}">
|
||||
<f:image
|
||||
image="{contact.0.image.0}"
|
||||
width="120"
|
||||
class="block w-full h-auto"
|
||||
alt="{contact.0.data.name}" />
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="col-span-2">
|
||||
<strong>{contact.0.data.name}</strong>
|
||||
<f:if condition="{contact.0.data.tasks}"><br>{contact.0.data.tasks -> f:format.nl2br()}</f:if>
|
||||
<f:if condition="{contact.0.data.phone}"><br><i class="fa fa-phone"></i> {contact.0.data.phone}</f:if>
|
||||
<f:if condition="{contact.0.data.email}"><br><i class="fa fa-envelope-o"></i> <f:link.email email="{contact.0.data.email}" title="E-Mail an {contact.0.data.name}">E-Mail</f:link.email></f:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,26 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:layout name="Default"/>
|
||||
|
||||
<f:section name="Main">
|
||||
<f:alias map="{data: disrupter.0.data, image: disrupter.0.image.0, background: data.tx_eptheme_background}">
|
||||
<f:switch expression="{data.layout}">
|
||||
<f:case value="0">
|
||||
<f:render partial="Disrupter/Small" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="1">
|
||||
<f:render partial="Disrupter/Large" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="2">
|
||||
<f:render partial="Disrupter/LastChance" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="3">
|
||||
<f:render partial="Disrupter/Reminder" arguments="{_all}"/>
|
||||
</f:case>
|
||||
</f:switch>
|
||||
</f:alias>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,19 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:layout name="Default"/>
|
||||
|
||||
<f:section name="Main">
|
||||
<f:if condition="{hotel}">
|
||||
<f:variable name="latitude" value="{hotel.0.data.latitude}"/>
|
||||
<f:variable name="longitude" value="{hotel.0.data.longitude}"/>
|
||||
</f:if>
|
||||
<f:if condition="{region}">
|
||||
<f:variable name="latitude" value="{region.0.data.latitude}"/>
|
||||
<f:variable name="longitude" value="{region.0.data.longitude}"/>
|
||||
</f:if>
|
||||
<f:render partial="Map/Osm" arguments="{settings: settings, class: 'mb-8', zoom: 17, lat: latitude, lng: longitude}"/>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,30 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:layout name="Default"/>
|
||||
|
||||
<f:section name="Main">
|
||||
<f:switch expression="{data.layout}">
|
||||
<f:case value="2">
|
||||
<f:render partial="ImageGallery" arguments="{images: files, thumbnails: 1, id: data.uid}"/>
|
||||
</f:case>
|
||||
<f:case value="4">
|
||||
<f:render partial="ImageGallery" arguments="{images: files, thumbnails: 0, id: data.uid}"/>
|
||||
</f:case>
|
||||
<f:case value="3">
|
||||
<f:render partial="Textmedia/LinkPanel" section="Content" arguments="{images: files}"/>
|
||||
</f:case>
|
||||
<f:case value="5">
|
||||
<f:render partial="Textmedia/Partnerlogos" section="Content" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:defaultCase>
|
||||
<ep:container rteContent="true" data="{data}">
|
||||
<f:render partial="Textmedia/Default" section="Content" arguments="{_all}"/>
|
||||
</ep:container>
|
||||
</f:defaultCase>
|
||||
</f:switch>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,25 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:layout name="Default"/>
|
||||
|
||||
<f:section name="Main">
|
||||
<div class="relative w-full aspect-w-16 aspect-h-9 bg-cover bg-center"
|
||||
style="background-image: url({f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/lazy.png')})">
|
||||
<iframe class="absolute top-0 left-0 w-full h-full"
|
||||
width="640" height="360" allowfullscreen
|
||||
title="eingebettetes Video"
|
||||
data-src="{ep:uri.video(value: data.header_link, layout: data.layout)}"
|
||||
referrerpolicy="strict-origin-when-cross-origin"
|
||||
data-cookiefirst-category="advertising"></iframe>
|
||||
<div class="cookiefirst-disabled-resource">
|
||||
<div class="absolute top-1/2 left-1/2 tranform -translate-xy-1/2">
|
||||
Bitte <a href="#" onclick="CookieFirst.acceptCategory('advertising'); return false" class="underline">Marketing-Cookies akzeptieren</a>, um dieses Video anzusehen.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
Reference in new issue
Block a user