Hallo alle,
ich habe eine Extention mit dem Kickstarter angelegt.
Wenn ich in der TCA.php folgendes reinschreibe:
"kanzlei" => Array (
"exclude" => 1,
"label" => "LLL:EXT:rwslg_insprofile/locallang_db.xml:tx_rwslginsprofile_verwalter.kanzlei",
"config" => Array (
"type" => "group",
"internal_type" => "db",
"allowed" => "tx_rwslginsprofile_kanzlei.name",
"size" => 1,
"minitems" => 0,
"maxitems" => 1,
"MM" => "tx_rwslginsprofile_verwalter_kanzlei_mm",
)
),
wird in der Listenasicht immer nur die uid des fremden Datensatzes angezeigt.
Wenn ich das TCA anders aufbaue und das als Type "select" nutze
(foreigntable, etc.)
"type" => "select",
"foreign_table" => "tx_rwslginsprofile_verwalter",
"foreign_table_where" => "ORDER BY tx_rwslginsprofile_verwalter.uid",
"foreign_field"=>"nachname",
"foreign_label"=>"Nachname",
werden in der Listenansicht alle fremden Datensätze mit Namen angezeigt
Kann mir einer sagen oder einen Tipp geben, wie ich es schaffe, dass in der Listenansicht auch mit dem Type "select" anstatt der uid des fremden Datensatzes, der name angezeigt wird??? Ich benötige im Backendformular nämlich diesen Type.
Vielen Dank im Voraus und Grüße
Nikl
Ich nehme an daß für die foreign-table das Feld uid als label im TA konfiguriert ist, daher wird die dann auch angezeigt.
So sollte es gehen:
'ctrl' => array (
...
'label' => 'nachname',
...
}
Daß "foreign_label"=>"Nachname" überhaupt das gewünschte Ergebnis liefert,
ist wohl eher Glückssache (aka Core-Bug),
definiert ist die Eigenschaft nämlich nicht für den Type "select",
sondern nur für den Type "inline"
Hallo Jenses,
vielen Dank für die Antwort.
"kanzlei" => Array (
"exclude" => 1,
"label" => "LLL:EXT:rwslg_insprofile/locallang_db.xml:tx_rwslginsprofile_standorte.kanzlei",
"config" => Array (
"type" => "group",
"internal_type" => "db",
"allowed" => "tx_rwslginsprofile_kanzlei",
"label" => "name",
"size" => 1,
"minitems" => 0,
"maxitems" => 1,
"MM" => "tx_rwslginsprofile_standorte_kanzlei_mm",
)
),
Meinst Du so? Funktioniert leider nicht, hatte ich zuvor auch schon ausprobiert.
Egal wo ich label hinsetze, in der Listenansicht steht die uid in der Spalte. Im Formular steht dann alles mit Name, nur die Listen ansicht zickt.
Für die foreign table ist übrigens der name als label konfiguriert.
Ich bin für jeden Tipp offen.
Grüße Nikl
IM TCA konfigurierst du die Felder Deiner extension. In der ext_tables.php Konfigurierst du deine Tabellen, einslisslich der Steuerung der Listings. Also Schau mal in der Datei auf Deine tabelle, auch da gibts ein label, das dürfte auf uid stehen. Da einfach dein Feld eintragen.
Gruß!
Hallo BlackPixel,
danke für den Tipp. War mir aber bekannt und stand auch nicht uid drin, sondern der name des Feldes.
Ich befürchte fast, dass bei Type group nur die uid angezeigt wird. Sobald ich auf select umstelle in der TCA, zeigt er an, was er anzeigen soll in der Liste. Selbe Einstellungen in der table.php.
Ich habe mir die Befunc.php (oder wie die heißt) an geschaut: Bei Type select geht es ordentlich zur Sache, um aus der uid eine Human readable Anzeige zu zaubern. Bei type group steht eine Zeile.
Aber vielleicht irre ich mich auch gewaltig und ich habe da einen blöden Fehler drin.
Kann das Problem einer bestätigen, oder wird bei allen anderen in der Liste bei Type group, db, MM etc. der Text angezeigt? (TYPO3 Version 4.2.8-)
Besten Dank und Grüße