[TYPO3-german] Datensätze einer 1:n-Beziehung lokalisieren

Renzo Bauen typo3 at conpassione.ch
Mon Jun 2 23:24:14 CEST 2014


Lieber Johannes

ich habe es auch in den 4.x-er Versionen nicht geschafft, Relationen zu
so zu übersetzen, dass diese erhalten blieben.

Wohl ist das Problem, dass man dazu einen sehr komplizierten Mechanismus
bäuchte:
Datensatz DeutschA mit ID=1 hat eine Relation zu Datensatz
DetailDeutschB mit ID=101
Übersetze ich DeutschA mit ID=1 gibt dies einen Datensatz EnglishA mit
ID=2, DetailDeutschB wird zu DetailEnglishB mit ID=102 übersetzt.

Das Problem ist, dass beim Übersetzen im Relationsfeld des Datensatzes
EnglishA immer noch die ID=101 von DetailDeutschB steht, anstatt 102 von
DetailEnglishB.
Dies automatisch zu tun ist sehr komplex, vor allem dann, wenn man noch
das Fallback berücksichtigen muss (Italienisch -> Französisch ->
Englisch -> Deutsch). Eine schnelle SQL-Query zu schreiben, die diese
Daten liefert, ist sehr komplex. Mit Versionen <4.7 habe ich dies nie
getestet/verwendet und kann deshalb nicht sagen, ob sowas überhaupt
schon mal funktioniert hat. Ich weiss einfach nur, dass es mit Extbase
keine automatische Zuordnung dieser Art gibt. Man muss deshalb den
Übersetzern zumuten, bei der Übersetzung auch die Relationen
entsprechend anzupassen.
Der Grund für das Fehlen einer solchen automatischen Zuordnung wird wohl
sein, dass die dafür nötige Funktion sehr komplex und langsam wäre. 

Eine andere Möglichkeit ist, die Detialdatensätze mit ((sys_language_id
= 0) or (sys_language_id=2)) für Englisch=2 zu suchen. Wird ein
Datensatz übersetzt und die Anpassung der Relation vergessen, dann hat
er zumindest einen gültigen Detaildatensatz. EnglishA zeigt damit auf
DetailDeutschB was nicht optimal ist, aber immerhin keinen Fehler
auslöst.

Gruss Renzo
-- 
conPassione gmbh
CH-3661 Uetendorf
+41 33 345 00 92 




More information about the TYPO3-german mailing list