Frontend Plugins über FlexForms zu konfigurieren hat viele Vorteile:
- Man kann viele Konfigurationen nutzerfreundlich direkt im Plugin vornehmen, ohne die Tabelle und das TCA tt_content mit eigenen Feldern erweitern zu müssen. So bleibt diese Tabelle sauberer und es ist kein Problem weitere Konfigurationen hinzuzufügen.
- Eine Möglichkeit ein anderes Templatefile und andere Konfigurationen direkt im Plugin anzugeben stellt eine optimale Möglichkeit dar ein Plugin mehrfach mit unterschiedlichem Erscheinungsbild in einer Seite zu verwenden. Über Typo-Script ist dies im Normalfall nicht möglich. Vorbildliche Konfigurationsmöglichkeiten im News Plugin Flex Forms in der eigenen Erweiterung: Im Kickstarter gibt es derzeit noch keine Vorbereitung für FlexForms in Erweiterungen, darum muß nach der Erstellung einer Erweiterung selbst Hand angelegt werden. Folgende Schritte sind möglich:
- Eine Datei flexform_ds.xml im Extensionverzeichniss anlegen und dort die Datenstruktur für das Flexible Formular festlegen. (Einführung und Hilfe zu dem XML Format gibt es in der Dokumentation zur Core API )
- In der Datei ext_tables.php mit folgenden Zeilen dafür sorgen das nur das konfigurierte Formular für die Erweiterung angezeigt wird:
$TCA['tt_content']['types'] ['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']= 'layout,select_key,pages,recursive'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1\']='pi_flexform'; t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'_pi1', 'FILE:EXT:'.$_EXTKEY.'/flexform_ds.xml');
Und schon haben wird nach dem Einfügen des Plugins das in der XML Datei konfigurierte Plugin angezeigt. Ein gutes Beispiel ist im übrigen tt_news. Tutorial
Quelle: TYPO3 Entwickler Blog www.typo3-media.com

