TYPO3 FlexForm: Alles Wissenswerte über die XML-Strukturen
FlexForms werden in TYPO3 genutzt, um Daten als XML-Struktur innerhalb einer Datenbankspalte zu speichern. Sie werden vor allem für Plugins und Inhaltselemente eingesetzt und können individuell konfiguriert werden.
Was sind TYPO3 FlexForms?
TYPO3 FlexForms werden im Backend von TYPO3 genutzt, um Daten im XML-Format in einer einzelnen Spalte zu speichern. Dafür definiert die Struktur Formulare, die mit Werten gefüllt werden können. Diese werden in den meisten Fällen innerhalb der Datenbank in einer Spalte mit dem Namen „pi_flexform“ hinterlegt. Der Vorteil dieser Methode besteht darin, dass Sie so eine beliebige Anzahl unterschiedlicher Felder definieren können, ohne dafür eine eigene Datenbankstruktur aufzusetzen. Auch der Einsatz unterschiedlicher Spalten innerhalb der Datenbank wird dadurch limitiert.
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach
Wofür werden die XML-Strukturen in TYPO3 genutzt?
FlexForms in TYPO3 sind optional. Zwar werden sie häufig für die Konfiguration von Inhaltselementen oder Plugins genutzt, diese Elemente können allerdings auch anderweitig erstellt werden. Die Herangehensweise mit TYPO3 FlexForms ermöglicht aber eine individuelle Konfiguration, die für jeden einzelnen Inhaltssatz angepasst werden kann. Plugin-Funktionen und Rendering können dadurch im Backend modifiziert werden. Aussehen und Funktionalität werden über die XML-Struktur definiert.
Welche Arten von FlexForm-Feldern für TYPO3 gibt es?
Es gibt zahlreiche unterschiedliche Typen von FlexForms für TYPO3. In den nachfolgenden Abschnitten haben wir die wichtigsten Arten aufgeführt.
Einfaches Textfeld
Möchten Sie ein einfaches Textfeld mit TYPO3 FlexForms erstellen, ist dies ein beispielhafter Code:
<T3DataStructure>
<sheets>
<sGeneral>
<ROOT>
<type>array</type>
<el>
<simpleTextField>
<label>Textfeld</label>
<config>
<type>input</type>
<size>25</size>
<max>35</max>
<eval>trim</eval>
</config>
</simpleTextField>
</el>
</ROOT>
</sGeneral>
</sheets>
</T3DataStructure>
xmlTextbereiche mit und ohne RTE (Rich Text Editor)
Einen Textbereich ohne RTE erstellen Sie mit diesem Code:
<T3DataStructure>
<sheets>
<sGeneral>
<ROOT>
<type>array</type>
<el>
<simpleTextArea>
<TCEforms>
<label>Textfeld ohne RTE</label>
<config>
<type>text</type>
<cols>40</cols>
<rows>5</rows>
<eval>trim</eval>
</config>
</TCEforms>
</simpleTextArea>
</el>
</ROOT>
</sGeneral>
</sheets>
</T3DataStructure>
xmlFür einen Textbereich mit Rich Text Editor nutzen Sie einen Code wie diesen:
<T3DataStructure>
<sheets>
<sGeneral>
<ROOT>
<el>
<rteField>
<TCEforms>
<label>Textbereich mit RTE</label>
<config>
<type>text</type>
<cols>40</cols>
<rows>15</rows>
<enableRichtext>1</enableRichtext>
<richtextConfiguration>default</richtextConfiguration>
</config>
</TCEforms>
</rteField>
</el>
</ROOT>
</sGeneral>
</sheets>
</T3DataStructure>
xmlEin einfaches Datumsfeld
Benötigen Sie ein Datumsfeld, können Sie diesen Code nutzen:
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>Standard</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<dateField>
<TCEforms>
<label>Datumsfeld</label>
<config>
<type>input</type>
<size>10</size>
<max>10</max>
<eval>date</eval>
</config>
</TCEforms>
</dateField>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
xmlCheckboxen mit einem oder mehreren Feldern
Dies ist der Code für eine einfache Checkbox:
<T3DataStructure>
<ROOT>
<type>array</type>
<el>
<checkbox>
<TCEforms>
<label>Einfache Checkbox</label>
<config>
<type>check</type>
<default>0</default>
</config>
</TCEforms>
</checkbox>
</el>
</ROOT>
</T3DataStructure>
xmlFür eine Checkbox mit zwei Feldern können Sie einen Code wie diesen verwenden:
<T3DataStructure>
<ROOT>
<type>array</type>
<el>
<multiCheckBox>
<TCEforms>
<label>Checkbox mit mehreren Optionen</label>
<config>
<type>check</type>
<renderType>selectCheckBox</renderType>
<items>
<item>
<label>Option 1</label>
<value>1</value>
</item>
<item>
<label>Option 2</label>
<value>2</value>
</item>
</items>
</config>
</TCEforms>
</multiCheckBox>
</el>
</ROOT>
</T3DataStructure>
xmlRadio-Buttons erstellen
Radio-Buttons werden in FlexForm für TYPO3 so angelegt:
<T3DataStructure>
<ROOT>
<type>array</type>
<el>
<radioOptions>
<TCEforms>
<label>Radio-Buttons</label>
<config>
<type>radio</type>
<items>
<item>
<label>Option 1</label>
<value>Erster_Wert</value>
</item>
<item>
<label>Option 2</label>
<value>Zweiter_Wert</value>
</item>
<item>
<label>Option 3</label>
<value>Dritter_Wert</value>
</item>
</items>
</config>
</TCEforms>
</radioOptions>
</el>
</ROOT>
</T3DataStructure>
xmlBeispiele für Selectboxen mit FlexForm in TYPO3
Es gibt unterschiedliche Arten von Selectboxen. Möchten Sie eine Box mit festgelegten Werten anlegen, können Sie einen vergleichbaren Code verwenden:
<T3DataStructure>
<ROOT>
<type>array</type>
<el>
<selectOptions>
<TCEforms>
<label>Selectbox mit festen Werten</label>
<config>
<type>select</type>
<items>
<item>
<label>Option 1</label>
<value>Erster_Wert</value>
</item>
<item>
<label>Option 2</label>
<value>Zweiter_Wert</value>
</item>
<item>
<label>Option 3</label>
<value>Dritter_Wert</value>
</item>
</items>
</config>
</TCEforms>
</selectOptions>
</el>
</ROOT>
</T3DataStructure>
xmlFür eine Selectbox mit mehreren Auswahlmöglichkeiten ist dies der passende Code:
<T3DataStructure>
<ROOT>
<type>array</type>
<el>
<multiSelectOptions>
<TCEforms>
<label>Selectbox mit mehreren Optionen</label>
<config>
<type>select</type>
<items>
<item>
<label>Option 1</label>
<value>Erster_Wert</value>
</item>
<item>
<label>Option 2</label>
<value>Zweiter_Wert</value>
</item>
<item>
<label>Option 3</label>
<value>Dritter_Wert</value>
</item>
</items>
<maxitems>3</maxitems>
<size>4</size>
</config>
</TCEforms>
</multiSelectOptions>
</el>
</ROOT>
</T3DataStructure>
xml- Einfach: mit wenigen Klicks installiert
- Sicher: SSL-Zertifikat inklusive
- Schnell: PHP8, OPcache und SSD Webspace