Mit diesem Beitrag wird eine weitere Extension vorgestellt, die in üblichen TYPO3-Projekten durchaus nützlich sein kann, speziell bei mehrsprachigen Websites.
Das Contentelement „Datensatz einfügen“ (im englischen „Insert records“) dürfe bekannt sein. Dennoch eine kurze Erklärung. Mit diesem Element ist es möglich, bereits bestehende Contentelemente einzufügen indem man diese einfach verlinkt. Somit kann man an unterschiedlichen Stellen das gleiche Contentelement einfügen und muss es später auch nur an einer Stelle aktualisieren.
Nachteil des Elements
Wird beispielsweise das Element mit der ID 123 ausgewählt, so wird immer dieses referenziert. Wird das Element „Datensatz einfügen“ übersetzt indem der Button „Copy default content elements“ benützt wird, so wird auch auf der übersetzten Sprache immer noch das Element mit der ID 123 angezeigt, auch wenn dieses selbst eine Übersetzung aufweisen mag. Der Redakteur muss daher in der Übersetzung jeweils die Referenzierung selbst auf das andere Element herstellen.
Funktionalität von insertrecordfix
Die hier vorgestellte Extension behebt den beschriebenen Nachteil und lässt, falls eine Übersetzung vorhanden ist, diese ausgeben. Mittels Typoscript
tt_content.shortcut.20.0.source.override.cObject
wird eine USERfunc aufgerufen, die nach den korrekten Übersetzungen sucht.
Nachteil von insertrecordfix
Der Nachteil der Extension ist, dass es nun nicht mehr möglich ist, auf einer übersetzten Seite mittels „Datensatz einfügen“ ein Element in der Ausgangssprache darzustellen auch wenn von diesem selbst eine Übersetzung vorliegt. Dieser Nachteil ließe sich über viele Wege beheben, kommt im Einzelfall aber auf das konkrete Projekt an. Beispiele wären über eine seperate TS-if-Konstruktion oder über eine alternative Userfunc.
Die Extension wurde von CYBERHOUSE/mir erstellt und kann man hier beziehen.