Möchte man sein TYPO3 Extbase Frontend Plugin mit Flexform konfigurieren, so muss in der ext_tables.php folgender Code verwendet werden:
$extensionName = t3lib_div::underscoredToUpperCamelCase($_EXTKEY); $pluginSignature = strtolower($extensionName).’_frontend‘; $TCA[‚tt_content‘][‚types‘][‚list‘][’subtypes_addlist‘][$pluginSignature] = ‚pi_flexform‘; t3lib_extMgm::addPiFlexFormValue($pluginSignature, ‚FILE:EXT:‘.$_EXTKEY.’/Configuration/FlexForms/flexform_frontend.xml‘);
Die Flexformdatei muss dann unter /typo3conf/ext/{extensionkey}/Configuration/FlexForms/flexform_frontend.xml abgelegt werden und kann z.B. so aussehen:
<T3DataStructure> <sheets> <sDEF> <ROOT> <TCEforms> <sheetTitle>List Ansicht</sheetTitle> </TCEforms> <type>array</type> <el> <settings.display_cols> <TCEforms> <exclude>1</exclude> <label>Sichtbare Spalten</label> <config> <type>select</type> <items type="array"> <numIndex index="0" type="array"> <numIndex index="0">Preis</numIndex> <numIndex index="1">1</numIndex> </numIndex> <numIndex index="1" type="array"> <numIndex index="0">Marke</numIndex> <numIndex index="1">2</numIndex> </numIndex> </items> <maxitems>100</maxitems> <size>5</size> </config> </TCEforms> </settings.display_cols> </el> </ROOT> </sDEF> </sheets> </T3DataStructure>
Wenn man die Felder im XML mit dem Prefix settings. versieht kann man im Controller einfach wie folgt zugreifen:
… $this->cols = explode(‚,‘, $this->settings[‚display_cols‘]); …