Zum Inhalt springen

TCA abhängig von Sprache des Datensatz anpassen

Erstellt am 26. Juli 2012 · 4 Antworten · letzte Antwort am 27. Juli 2012

Tags: TCA, Frage

FabianX ·

Ich würde gerne das TCA abhängig davon anpassen welche Sprache der aktuell zu bearbeitende Datensatz hat.

Kennt da jemand ne Möglichkeit für ?

Ich hab in der TCA Api dazu leider nichts gefunden.
Bei den where Abfragen kann man ja beispielsweise ###THIS_UID## nutzen.

Jetzt würde ich gerne per Abfrage z.B. ###THIS_SYS_LANG### != 0 das TCA anpassen.

saneinsane ·

Wenn Du bei verknüpften Tabellen nur die Datensätze in default language anzeigen willst, kannst Du das hier machen:

$GLOBALS['TCA']['TABLE_NAME']['columns']['FIELD_NAME']['config']['foreign_table_where'] = 'AND sys_language_uid<1 ORDER BY TABLE_NAME.TITLE_FIELD';

Mit der Bedingung sys_language_uid<1 siehst Du in der Auswahl auch verknüpfte Datensätze, bei denen als Sprache "alle" ausgewählt ist (-1).

FabianX ·

Danke, aber das meine ich nicht.

Mir geht es darum das bestimmte Felder in der Eingabemaske für einen Datensatz (z.B. ein Textfeld für eine Produktbeschreibung) nur in der Default Sprache angezeigt werden.

Wenn ich einen Datensatz lokalisiere sollen also bestimmte Felder ausgeblendet werden.

Deswegen bräuchte ich eine Abfrage im TCA welche Sprache der aktuell geöffnete Datensatz hat.

saneinsane ·

Ok, dafür gibt es die Einstellung l10n_mode.
Mit der Option "exclude" wird das entsprechende Feld in der Lokalisierung nicht angezeigt, d.h. es wird immer der Feldwert aus der Defaultsprache benutzt.

Mit "mergeIfNotBlank" wird das Feld in der Lokalisierung mit einem grünen Pfeil angezeigt; wird das Feld in der Lokalisierung leer gelassen, wird der Feldwert der Defaultsprache benutzt, ansonsten der eingegebene Wert (praktisch für Bilder).

Alle Optionen kannst Du in der Doku nachlesen https://docs.typo3.org/m/typo3/reference-tca/main/en-us/Index.html
Solltest Du mit TypoScript oder PHP selbst lokalisierte aus den Tabellen holen, musst Du selbst dafür sorgen, dass diese Einstellungen berücksichtigt werden!

FabianX ·

Super genau das hab ich gesucht, hatte es aber nicht in der Doku gefunden.

Das nächste mal such ich besser 🙂

Vielen Dank für deine Hilfe.