[TYPO3-german] TCA: Problem mit foreign_table
Raphael Weber
mailinglisten at screensolutions.de
Wed Mar 28 11:22:51 CEST 2012
Hallo,
ich bastel gerade an einer kleinen Extension, die u.a. die
tt_address-Tabelle erweitert. In einem der Felder, nämlich
'tx_vnautomagcommunity_automag', soll ein Wert gespeichert werden, der
sich auf eine weitere Tabelle ('tx_vnautomagcommunity_automag') bezieht.
Die Datensätze dieser Tabelle sind allesamt auf der Rootpage, also mit
pid=0 gespeichert.
Mein Problem: ich kriege es nicht hin, dass die Datensätze aus dieser
Tabelle als Optionen in dem dafür angelegten SELECT-Feld im
tt_adress-Formular landen. Das Feld ist zwar da, enthält als einziges
Item aber nur den leeren Standard-Wert.
Auszüge aus der ext_tables.php meiner Extension:
[PHP]
$tempColumns = array (
[...]
'tx_vnautomagcommunity_automag' => array (
'exclude' => 1,
'label' =>
'LLL:EXT:vn_automagcommunity/locallang_db.xml:tt_address.tx_vnautomagcommunity_automag',
'config' => array (
'type' => 'select',
'items' => array (
array('',0),
),
'foreign_table' => 'tx_vnautomagcommunity_automag',
'foreign_table_where' => 'ORDER BY
tx_vnautomagcommunity_automag.uid',
'size' => 1,
'minitems' => 0,
'maxitems' => 1,
)
),
[...]
);
t3lib_div::loadTCA('tt_address');
t3lib_extMgm::addTCAcolumns('tt_address',$tempColumns,1);
[...]
$TCA['tx_vnautomagcommunity_automag'] = array (
'ctrl' => array (
'title' =>
'LLL:EXT:vn_automagcommunity/locallang_db.xml:tx_vnautomagcommunity_automag',
'label' => 'magtitle',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'default_sortby' => 'ORDER BY magtitle',
'delete' => 'deleted',
'enablecolumns' => array (
'disabled' => 'hidden',
),
'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY).'tca.php',
'iconfile' =>
t3lib_extMgm::extRelPath($_EXTKEY).'icon_tx_vnautomagcommunity_automag.gif',
),
);
$TCA['tt_address']['ctrl']['type'] = 'tx_vnautomagcommunity_type';
[...]
$TCA['tt_address']['types']['1'] = array('showitem' => 'hidden;;;;1-1-1,
name;;2, tx_vnautomagcommunity_type;;;;1-1-1,
tx_vnautomagcommunity_clubname;;15, address;;10, email;;5, phone;;11,
image;;;;4-4-4, description, addressgroup;;;;1-1-1,
tx_vnautomagcommunity_automag;;14;;1-1-1,
tx_vnautomagcommunity_creator;;13');
[...]
[/PHP]
Ich habe auch etwas mit dem Wert für 'foreign_table_where' rumprobiert,
z.B. ergänzt mit 'AND tx_vnautomagcommunity_automag.pid=0' und auch
'rootLevel' => 1 hat keinen Erfolg gebracht.
Woran kann das liegen, dass die Abfrage keine Datensätze bringt? Die
Tabelle existiert, enthält Datensätze und ist im TCA registriert?
Falls du keinen konkreten Tipp für mich hast: wie würdest du hier ans
Debuggen gehen?
Bin für jeden Tipp dankbar, da mit meinem Latein am Ende :(
Grüße,
raphael
More information about the TYPO3-german
mailing list