Typo3 Extensions mit FlexForms
Aus Wikizone
Version vom 10. September 2007, 15:07 Uhr von 193.196.133.66 (Diskussion)
Man braucht:
- Änderungen in ext_tables.php
- Die Datei flexform_ds.xml. In dieser befindet sich der XML code den Typo3 nutzt um das Flexform zu generieren.
- In der Datei wird im Abschnitt Label auf die Datei: locallang_db.xml verwiesen. In dieser wiederum werden die anderen Sprachen definiert.
Beispiel ext_tables.php (Ausschnitt):
# Vor jeder Änderung im TCA Bereich im Frontend muß er auch geladen sein...
t3lib_div::loadTCA('tt_content');
# Wir nutzen FlexForms - deshalb blenden wir die Standard-Felder layout, select_key pages und recursive aus...
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key,pages,recursive';
# Dafür blenden wir das tt_content-Felod pi_flexform ein
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1']='pi_flexform';
# Nun die Datei angeben in der das Flexform-Schema definiert ist...
t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'pi1','FILE:EXT:'.$_EXTKEY.'/flexform_de.xml');
# Plugin aktivieren
t3lib_extMgm::addPlugin(array('LLL:EXT:hfwupersonal/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY.'_pi1'),'list_type');
Beispiel flexform_ds.xml
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<T3FlexForms>
<data type="array">
<sDEF type="array">
<lDEF type="array">
<inputName type="array">
<vDEF>Beispielwort</vDEF>
</inputName>
<inputTransformation type="array">
<vDEF>lowercase</vDEF>
</inputTransformation>
</lDEF>
</sDEF>
</data>
</T3FlexForms>
Innerhalb von sheets stehen die Tabs, sDEF ist das erste Sheet.