[TYPO3-german] Flexforms dynamisch / Datensatzseite auslesen
Mathias Schreiber [TYPO3]
mathias at typo3.org
Tue Oct 2 14:22:49 CEST 2007
Basti Baumann schrieb:
> das mit den Mysql querys ist mir bewusst, ich habe das aber mangels
> besseren Wissens erst einmal so gemacht ;)
Das machts ja noch viel schlimmer.
Coding Guidelines liegen irgendwo auf TYPO3.org unter Docs (frag mich
bitte nicht wo).
Jetzt gehts erstmal los hier...
ext_tables.php
include_once(t3lib_extMgm::extPath($_EXTKEY).'class.tx_wmdbtca2fe_itemsProcFunc.php');
[DEIN_FLEXFORM].xml
<listfields>
<TCEforms>
<label>Fields for List View</label>
<config>
<type>select</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">-- CHOOSE --</numIndex>
<numIndex index="1">-- CHOOSE --</numIndex>
</numIndex>
</items>
<itemsProcFunc>tx_wmdbtca2fe_itemsProcFunc->user_getTCAFields</itemsProcFunc>
</config>
</TCEforms>
</listfields>
Da wird die ProcFunc aufgerufen
Die Klasse selber:
class tx_wmdbtca2fe_itemsProcFunc {
function user_getTCAFields($params) {
// Get XML from Flexform and transform it to a PHP array
$flexData = t3lib_div::xml2array($params['row']['pi_flexform']);
// Extract Tablenabe
$table = $flexData['data']['sDEF']['lDEF']['tcatable']['vDEF'];
// Load the TCA for the Selected Table
$localTCA = t3lib_div::loadTCA($table);
$i = 1;
foreach ($GLOBALS['TCA'][$table]['columns'] as $key => $value) {
if (!t3lib_div::inList($this->blackList,$key)) {
$params['items'][$i] = array(
'0' => $key,
'1' => $key
);
$i++;
}
}
return $params['items'];
}
}
um an die Flexform Definition zu kommen gibts sicherlich nen smarteren
Weg, fällt mir aber grade nich ein.
Wichtig ist die Basis.
Du schreibst ZUSÄTZLICHE Werte unten an deine Selectbox dran.
Prinzip klar?
--
T3A AM
Rocking TYPO3 since 3.1b1
More information about the TYPO3-german
mailing list