Zum Inhalt springen

TCA: select zeigt automatisch die IDs aus foreign_table an

Erstellt am 18. Juni 2012 · 1 Antwort · letzte Antwort am 25. September 2012

Tags: TCA, Frage

Herbomat ·

Hallo liebe Leute,

ich habe eine Extension erstellt. Im Hauptformular der Extension greife ich auf eine dazugehörden Tabelle (Gruppe) zu. (1:n)

Auszug aus der tca.php:

...

 "lggroup" => Array (  
	"exclude" => 1,  
    "label" => "LLL:EXT:tp_xxx/locallang_db.xml:tx_xxx_kontakte.lggroup",  
    "config" => Array (
      "type" => "select", 
      "items" => Array (
		
    ),
    "foreign_table" => "tx_xxx_gruppen", 
    "foreign_table_where" => "ORDER BY tx_xxx_gruppen.uid",
      "size" => 4, 
      "minitems" => 0,
      "maxitems" => 99,
    ),
	)),

...

Das items Array ist leer, da es automatisch diese mit den Werten der Gruppen füllen soll. Macht es auch, aber leider nur die IDs. Das heißt, ich habe bei der Auswahl nur 1,2,3,4... stehen und nicht den Gruppennamen. Schwer zu lesen, wenn mann nicht weiß hinter welcher ID steht. Wie kann ich denn in der Selectbox den Gruppennamen aus der Datenbank anzeigen lassen?

Muss das Gruppennamenfeld einen bestimmten Namen, also eine Konvention, haben? In meinem Falle heißt es title, ist das vielleicht schon das Problem?

Danke für Eure Ideen.

Viele Grüße
Herb

emeh ·

In deiner ext_tables.php-Datei kannst du konfigurieren, welches Feld als Label benutzt werden soll.

$TCA['tx_altowws_domain_model_deliveryzone'] = array(
    'ctrl' => array(
        'label' => 'name',
    )
);

Wobei "name" dann das Attribut ist, das du in der Select-Box lesen möchtest.