=
18.232.51.69

Daschmi's Notizblog

Logo des Etikators - Tool um online drucken von Etiketten für selbst angefertigte Tinkturen

Flexform mit Extbase und Fluid

Erstellt in Extension Entwicklung, TYPO3 am 2. Januar 2014

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‘]);
…