FlexForms werden in TYPO3 genutzt, um Daten als XML-Struktur innerhalb einer Da­ten­bank­spal­te zu speichern. Sie werden vor allem für Plugins und In­halts­ele­men­te ein­ge­setzt und können in­di­vi­du­ell kon­fi­gu­riert 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“ hin­ter­legt. Der Vorteil dieser Methode besteht darin, dass Sie so eine beliebige Anzahl un­ter­schied­li­cher Felder de­fi­nie­ren können, ohne dafür eine eigene Da­ten­bank­struk­tur auf­zu­set­zen. Auch der Einsatz un­ter­schied­li­cher Spalten innerhalb der Datenbank wird dadurch limitiert.

Domain kaufen
Re­gis­trie­ren Sie Ihre perfekte Domain
  • Inklusive 1 SSL-Wildcard-Zer­ti­fi­kat pro Vertrag
  • Inklusive Domain Lock
  • Inklusive Domain Connect für einfache DNS-Ein­rich­tung

Wofür werden die XML-Struk­tu­ren in TYPO3 genutzt?

FlexForms in TYPO3 sind optional. Zwar werden sie häufig für die Kon­fi­gu­ra­ti­on von In­halts­ele­men­ten oder Plugins genutzt, diese Elemente können al­ler­dings auch an­der­wei­tig erstellt werden. Die Her­an­ge­hens­wei­se mit TYPO3 FlexForms er­mög­licht aber eine in­di­vi­du­el­le Kon­fi­gu­ra­ti­on, die für jeden einzelnen In­halts­satz angepasst werden kann. Plugin-Funk­tio­nen und Rendering können dadurch im Backend mo­di­fi­ziert werden. Aussehen und Funk­tio­na­li­tät werden über die XML-Struktur definiert.

Welche Arten von FlexForm-Feldern für TYPO3 gibt es?

Es gibt zahl­rei­che un­ter­schied­li­che Typen von FlexForms für TYPO3. In den nach­fol­gen­den Ab­schnit­ten haben wir die wich­tigs­ten Arten auf­ge­führt.

Einfaches Textfeld

Möchten Sie ein einfaches Textfeld mit TYPO3 FlexForms erstellen, ist dies ein bei­spiel­haf­ter 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>
xml

Text­be­rei­che mit und ohne RTE (Rich Text Editor)

Einen Text­be­reich 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>
xml

Für einen Text­be­reich 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>
xml

Ein einfaches Da­tums­feld

Benötigen Sie ein Da­tums­feld, 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>
xml

Check­bo­xen 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>
xml

Fü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>
xml

Radio-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>
xml

Beispiele für Sel­ect­bo­xen mit FlexForm in TYPO3

Es gibt un­ter­schied­li­che Arten von Sel­ect­bo­xen. Möchten Sie eine Box mit fest­ge­leg­ten Werten anlegen, können Sie einen ver­gleich­ba­ren 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>
xml

Für eine Selectbox mit mehreren Aus­wahl­mög­lich­kei­ten 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
TYPO3 für Ihr Hosting Paket
  • Einfach: mit wenigen Klicks in­stal­liert
  • Sicher: SSL-Zer­ti­fi­kat inklusive
  • Schnell: PHP8, OPcache und SSD Webspace

Reviewer

Zum Hauptmenü