Flexform-Daten in Typo3-Extension auslesen
Um die Flexform-Daten eines Plugins zu nutzen benötigt man in seiner eigenen Extension etwas PHP-Code. Dabei kann nicht nur auf Flexform-Daten des aktuellen Plugins sondern auch auf jene jedes beliebigen (soweit der Datensatz bekannt ist) zugegriffen werden.
Flexform-Daten des aktuellen Plugins
$this->pi_initPIflexForm();
$this->flexform = array();
// get flexform data
$piFlexForm = $this->cObj->data['pi_flexform'];
$sDef = current($piFlexForm['data']);
foreach ( $piFlexForm['data'] as $sheet => $data ) {
foreach ($data['lDEF'] as $key => $val ) {
$this->flexform[$key] = $this->pi_getFFvalue($piFlexForm, $key, $sheet, 'lDEF');
}
}
fremde Flexform-Daten
$row=$this->pi_getRecord(tt_content, $this->conf['foreignFlexformContentElementID']);
$flexformData = t3lib_div::xml2array($row['pi_flexform']);
$foreignFlexform = array();
$piFlexForm = $flexformData;
$sysLanguage = $GLOBALS['TSFE']->sys_language_uid;
$sDef = current($piFlexForm['data']);
$lDef = array_keys($sDef);
foreach ( $piFlexForm['data'] as $sheet => $data ) {
foreach ( $data as $lang => $value ) {
foreach ( $value as $key => $val ) {
$foreignFlexform[$key] = $this->pi_getFFvalue($piFlexForm, $key, $sheet);
}
}
}