Eine Sache könnte es vielleicht noch sein. Die habe ich vor einer Weile mal getestet.
Ich habe ins News-Plugin ein paar eigene Optionen eingefügt, die ich im Fluid-Template benötige um ein paar Schalter, wie News-Cards pro Zeile, umzubiegen.
Ob ich damit was überschrieben habe?
Dazu habe ich die ModifyFlexformEvent.php in /packages/tnt_sitepackage_bs5/Classes/EventListener gelegt:
<?php
namespace TntDigital\TntSitepackageBs5\EventListener;
use TYPO3\CMS\Core\Configuration\Event\AfterFlexFormDataStructureParsedEvent;
use TYPO3\CMS\Core\Utility\ArrayUtility;
use TYPO3\CMS\Core\Utility\GeneralUtility;
//use TYPO3\CMS\Core\Utility\DebugUtility;
class ModifyFlexformEvent
{
public function __invoke(AfterFlexFormDataStructureParsedEvent $event): void
{
$dataStructure = $event->getDataStructure();
$identifier = $event->getIdentifier();
if ($identifier['type'] === 'tca' &&
$identifier['tableName'] === 'tt_content' &&
$identifier['dataStructureKey'] === '*,news_pi1' ||
$identifier['dataStructureKey'] === '*,news_newsdetail') {
if ($identifier['dataStructureKey'] === '*,news_newsdetail') {
$file = GeneralUtility::getFileAbsFileName('EXT:tnt_sitepackage_bs5/Configuration/FlexForms/News/Extend-detail.xml');
} else {
$file = GeneralUtility::getFileAbsFileName('EXT:tnt_sitepackage_bs5/Configuration/FlexForms/News/Extend-list.xml');
}
$content = file_get_contents($file);
if ($content) {
$dataStructure['sheets'][] = GeneralUtility::xml2array($content);
}
/*DebugUtility::debug($dataStructure, 'BASE DS BEFORE MERGE');
DebugUtility::debug(GeneralUtility::xml2array($content), 'DS TO MERGE');
ArrayUtility::mergeRecursiveWithOverrule($dataStructure, GeneralUtility::xml2array($content));
DebugUtility::debug($dataStructure, 'DS AFTER MERGE');*/
}
$event->setDataStructure($dataStructure);
}
}
und in /packages/tnt_sitepackage_bs5/COnfiguration/Flexforms/News die Extend-list.xml:
<extra>
<ROOT>
<sheetTitle>Options</sheetTitle>
<type>array</type>
<el>
<settings.itemsPerRow>
<label>News-Liste: Maximale News-Elemente pro Reihe</label>
<description>Diese Einstellung ist für die Darstellung von News-Listen mit Cards und Thumbnails gültig.</description>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>3</default>
<items>
<item1>
<label>1 / Reihe</label>
<value>1</value>
</item1>
<item2>
<label>2 / Reihe</label>
<value>2</value>
</item2>
<item3>
<label>3 / Reihe</label>
<value>3</value>
</item3>
</items>
</config>>
</settings.itemsPerRow>
<settings.overlay>
<label>News-Liste: Größe des Card-Overlays</label>
<description>Diese Einstellung ist für die Höhe des Text-Overlays von Cards/Thumbnails gültig.</description>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>1</default>
<items>
<item1>
<label>Volle Höhe</label>
<value>1</value>
</item1>
<item2>
<label>Automatisch</label>
<value>2</value>
</item2>
</items>
</config>
</settings.overlay>
<settings.slider>
<label>Slider</label>
<config>
<type>check</type>
<default>0</default>
</config>
</settings.slider>
<settings.hideCategory>
<label>Kategorie ausblenden</label>
<config>
<type>check</type>
<default>0</default>
</config>
</settings.hideCategory>
<settings.hideDate>
<label>Datum ausblenden</label>
<config>
<type>check</type>
<default>0</default>
</config>
</settings.hideDate>
<settings.hideTeaser>
<label>Teaser ausblenden</label>
<config>
<type>check</type>
<default>0</default>
</config>
</settings.hideTeaser>
</el>
</ROOT>
</extra>