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
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an