Zum Inhalt springen

kickstarter - Relation (statt Anzahl die Feldwerte ausgeben)

Erstellt am 30. Juni 2011 · 1 Antwort · letzte Antwort am 30. Juni 2011

Tags: TCA, Datenbank, Frage

plxkillme ·

Hallo!

Ich habe mit dem Kickstarter eine einfache Extension gebastelt, die nur eine Tabelle hat, in der Filme gelistet werden.

| UID | ID | TITLE | AUTHOR | ... | RELATED MOVIES |

Ein Film kann aber zu mehreren anderen gehören.
Ich kann auch beim Anlegen eines Datensatzes mehrere Filme auswählen und die Einträge in der mm-Tabelle werden auch vorgenommen.
In der Liste im Frontend steht aber in RELATED MOVIES dann nur die Anzahl der Verknüpfungen, ich hätte aber gerne die ID (nicht UID!) der Filme dort stehen.

Meine ext_tables.php

$TCA['tx_kwsvideothek_list'] = array (
'ctrl' => array (
'title' => 'LLL:EXT:kws_videothek/local...
'label' => 'id',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'default_sortby' => 'ORDER BY crdate',
'delete' => 'deleted',
'enablecolumns' => array (
'disabled' => 'hidden',
),
'dynamicConfigFile' => t3lib_extMgm::extPath...
'iconfile' => t3lib_extMgm::extRelPath...
),
);

Die tca.php

'relatedmovies' => array (
'exclude' => 0,
'label' => 'LLL:EXT:kws_videothek/local...
'config' => array (
'type' => 'select',
'foreign_table' => 'tx_kwsvideothek_list',
'foreign_table_where' => 'ORDER BY tx_kwsvideothek_list.uid',
'size' => 10,
'minitems' => 0,
'maxitems' => 10,
"MM" => "tx_kwsvideothek_list_relatedmovies_mm"
)
),

Mit Gruß und Dank,

Florian

aemka ·

Du musst schon selber die verknüpften Filme per SQL-JOIN mit der MM-Tabelle abrufen entweder mit den t3lib_db Datenbankmethoden oder wenn du extbase benutzt, indem du einen korrekt annotierte Getter Methode in deiner Film-Model-Klasse dafür anlegst - dann übernimmst extbase intern den JOIN für dich.