Remove unused container elements, streamline rendering

This commit is contained in:
Björn Fromme
2022-03-15 17:40:49 +01:00
parent 19dfef8972
commit 496d0945e7
6 changed files with 82 additions and 161 deletions
@@ -1,37 +1,11 @@
<?php <?php
call_user_func(function () { call_user_func(function () {
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
new \B13\Container\Tca\ContainerConfiguration(
'ep_container_halves',
'Zweispalter',
'50/50 Aufteilung',
[
[
['name' => 'Elemente', 'colPos' => 300],
]
]
)
);
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
new \B13\Container\Tca\ContainerConfiguration(
'ep_container_thirds',
'Dreispalter',
'33/33/33 Aufteilung',
[
[
['name' => 'Elemente', 'colPos' => 300],
]
]
)
);
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer( \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
new \B13\Container\Tca\ContainerConfiguration( new \B13\Container\Tca\ContainerConfiguration(
'ep_container_quarters', 'ep_container_quarters',
'Vierspalter', 'Vierspalter',
'25/25/25/25 Aufteilung', '25/25/25/25 Aufteilung mit groß/klein Umschaltung',
[ [
[ [
['name' => 'Elemente', 'colPos' => 300], ['name' => 'Elemente', 'colPos' => 300],
@@ -43,8 +17,8 @@ call_user_func(function () {
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer( \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
new \B13\Container\Tca\ContainerConfiguration( new \B13\Container\Tca\ContainerConfiguration(
'ep_container_teasergroup', 'ep_container_teasergroup',
'Teasergruppe', 'Dreispalter',
'Für Produktteaser mit groß/klein Umschaltung', '33/33/33 Aufteilung mit groß/klein Umschaltung',
[ [
[ [
['name' => 'Teaser', 'colPos' => 300], ['name' => 'Teaser', 'colPos' => 300],
@@ -69,7 +43,7 @@ call_user_func(function () {
' '
]; ];
foreach (['ep_container_halves', 'ep_container_thirds', 'ep_container_quarters', 'ep_container_teasergroup'] as $field) { foreach (['ep_container_quarters', 'ep_container_teasergroup'] as $field) {
$GLOBALS['TCA']['tt_content']['types'][$field] = array_replace_recursive( $GLOBALS['TCA']['tt_content']['types'][$field] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types'][$field], $GLOBALS['TCA']['tt_content']['types'][$field],
$headerConfig $headerConfig
@@ -91,14 +91,6 @@ TCEFORM {
} }
} }
ep_container_teasergroup { ep_container_teasergroup {
disabled = 0
removeItems := addToList(2,3)
altLabels {
0 = mit Hintergrund
1 = ohne Hintergrund
}
}
ep_container_halves {
disabled = 0 disabled = 0
removeItems := addToList(2,3) removeItems := addToList(2,3)
altLabels { altLabels {
@@ -106,8 +98,7 @@ TCEFORM {
1 = mit Hintergrund 1 = mit Hintergrund
} }
} }
ep_container_thirds < .ep_container_halves ep_container_quarters < .ep_container_teasergroup
ep_container_quarters < .ep_container_halves
} }
} }
@@ -1,34 +0,0 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:layout name="Default"/>
<f:section name="Main">
<f:if condition="{data.layout} == 0">
<f:then>
<ep:container data="{data}" cssClasses="py-8">
<f:render section="Content" arguments="{_all}"/>
</ep:container>
</f:then>
<f:else>
<div class="py-8 bg-ep-primary-bg">
<div class="container">
<f:render section="Content" arguments="{_all}"/>
</div>
</div>
</f:else>
</f:if>
</f:section>
<f:section name="Content">
<f:render partial="Header/Header"
arguments="{header: data.header, subheader: data.subheader, layout: data.header_layout, link: data.header_link}" />
<div class="grid grid-cols-2 gap-8">
<f:for each="{children_300}" as="record">
{record.renderedContent -> f:format.raw()}
</f:for>
</div>
</f:section>
</html>
@@ -5,29 +5,53 @@
<f:layout name="Default"/> <f:layout name="Default"/>
<f:section name="Main"> <f:section name="Main">
<f:if condition="{data.layout} == 0"> <f:if condition="{children_300}">
<f:then> <f:if condition="{data.layout} == 0">
<ep:container data="{data}" cssClasses="py-8"> <f:then>
<f:render section="Content" arguments="{_all}"/> <ep:container data="{data}">
</ep:container>
</f:then>
<f:else>
<div class="py-8 bg-ep-primary-bg">
<div class="container">
<f:render section="Content" arguments="{_all}"/> <f:render section="Content" arguments="{_all}"/>
</ep:container>
</f:then>
<f:else>
<div class="py-8 bg-ep-primary-bg">
<div class="container">
<f:render section="Content" arguments="{_all}"/>
</div>
</div> </div>
</div> </f:else>
</f:else> </f:if>
</f:if> </f:if>
</f:section> </f:section>
<f:section name="Content"> <f:section name="Content">
<f:render partial="Header/Header" <div data-controller="teasergrid"
arguments="{header: data.header, subheader: data.subheader, layout: data.header_layout, link: data.header_link}" /> data-teasergrid-grid-class="grid-cols-2"
<div class="grid grid-cols-2 lg:grid-cols-4 gap-4 md:gap-8"> data-teasergrid-disabled-value="false">
<f:for each="{children_300}" as="record"> <f:render partial="Header/Header"
{record.renderedContent -> f:format.raw()} arguments="{header: data.header, subheader: data.subheader, layout: data.header_layout, link: data.header_link, default: settings.defaultHeaderType}" />
</f:for> <div class="flex items-center space-x-1 mb-2 sm:hidden">
<button type="button"
class="opacity-50"
data-action="teasergrid#grid"
data-teasergrid-target="button">
<svg class="w-5 h-5 text-ep-primary">
<use href="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/icons_sprite.svg')}#icon-teaser-grid"></use>
</svg>
</button>
<button type="button"
data-action="teasergrid#block"
data-teasergrid-target="button">
<svg class="w-5 h-5 text-ep-primary">
<use href="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/icons_sprite.svg')}#icon-teaser-single"></use>
</svg>
</button>
</div>
<div class="grid grid-cols-2 lg:grid-cols-4 gap-4 md:gap-8"
data-teasergrid-target="container">
<f:for each="{children_300}" as="record">
{record.renderedContent -> f:format.raw()}
</f:for>
</div>
</div> </div>
</f:section> </f:section>
@@ -5,19 +5,21 @@
<f:layout name="Default"/> <f:layout name="Default"/>
<f:section name="Main"> <f:section name="Main">
<f:if condition="{data.layout} == 0"> <f:if condition="{children_300}">
<f:then> <f:if condition="{data.layout} == 0">
<div class="pt-8 pb-16 bg-ep-primary-bg"> <f:then>
<div class="container"> <ep:container data="{data}">
<f:render section="Content" arguments="{_all}"/> <f:render section="Content" arguments="{_all}"/>
</ep:container>
</f:then>
<f:else>
<div class="pt-8 pb-16 bg-ep-primary-bg">
<div class="container">
<f:render section="Content" arguments="{_all}"/>
</div>
</div> </div>
</div> </f:else>
</f:then> </f:if>
<f:else>
<ep:container data="{data}">
<f:render section="Content" arguments="{_all}"/>
</ep:container>
</f:else>
</f:if> </f:if>
</f:section> </f:section>
@@ -27,31 +29,29 @@
data-teasergrid-disabled-value="false"> data-teasergrid-disabled-value="false">
<f:render partial="Header/Header" <f:render partial="Header/Header"
arguments="{header: data.header, subheader: data.subheader, layout: data.header_layout, link: data.header_link, default: settings.defaultHeaderType}" /> arguments="{header: data.header, subheader: data.subheader, layout: data.header_layout, link: data.header_link, default: settings.defaultHeaderType}" />
<f:if condition="{children_300}"> <div class="flex items-center space-x-1 mb-2 sm:hidden">
<div class="flex items-center space-x-1 mb-2 sm:hidden"> <button type="button"
<button type="button" class="opacity-50"
class="opacity-50" data-action="teasergrid#grid"
data-action="teasergrid#grid" data-teasergrid-target="button">
data-teasergrid-target="button"> <svg class="w-5 h-5 text-ep-primary">
<svg class="w-5 h-5 text-ep-primary"> <use href="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/icons_sprite.svg')}#icon-teaser-grid"></use>
<use href="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/icons_sprite.svg')}#icon-teaser-grid"></use> </svg>
</svg> </button>
</button> <button type="button"
<button type="button" data-action="teasergrid#block"
data-action="teasergrid#block" data-teasergrid-target="button">
data-teasergrid-target="button"> <svg class="w-5 h-5 text-ep-primary">
<svg class="w-5 h-5 text-ep-primary"> <use href="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/icons_sprite.svg')}#icon-teaser-single"></use>
<use href="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/icons_sprite.svg')}#icon-teaser-single"></use> </svg>
</svg> </button>
</button> </div>
</div> <div class="grid grid-cols-2 lg:grid-cols-3 gap-4 md:gap-8"
<div class="grid grid-cols-2 lg:grid-cols-3 gap-4 md:gap-8" data-teasergrid-target="container">
data-teasergrid-target="container"> <f:for each="{children_300}" as="record">
<f:for each="{children_300}" as="record"> {record.renderedContent -> f:format.raw()}
{record.renderedContent -> f:format.raw()} </f:for>
</f:for> </div>
</div>
</f:if>
</div> </div>
</f:section> </f:section>
@@ -1,34 +0,0 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:layout name="Default"/>
<f:section name="Main">
<f:if condition="{data.layout} == 0">
<f:then>
<ep:container data="{data}" cssClasses="py-8">
<f:render section="Content" arguments="{_all}"/>
</ep:container>
</f:then>
<f:else>
<div class="py-8 bg-ep-primary-bg">
<div class="container">
<f:render section="Content" arguments="{_all}"/>
</div>
</div>
</f:else>
</f:if>
</f:section>
<f:section name="Content">
<f:render partial="Header/Header"
arguments="{header: data.header, subheader: data.subheader, layout: data.header_layout, link: data.header_link}" />
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<f:for each="{children_300}" as="record">
{record.renderedContent -> f:format.raw()}
</f:for>
</div>
</f:section>
</html>