Am 07.09.14 18:53, schrieb Nicole Cordes:
Hallo Johannes,

einen fertigen Weg kenne ich nicht, aber du solltest anhand der Datenbank ein 
Script dafür schreiben können. Wichtig ist, dass du daran denkst, dass der neue 
Seitenbaum auch 0 als sys_language_uid hat und du die Sprache über TypoScript 
einstellst...


leider ist dieses Aufspliten der Sprachen nicht so einfach.
in abgeandelter Form kam die Anforderung ja schon sehr oft: wie kann "ich die Default-Sprache mit einer Übersetzung tauschen?"

da TYPO3 da etwas komplexere Datenstrukturen benutzt ist das eben nicht ganz trivial.

angefangen bei der Tabelle 'pages', die ihre Übersetzungen in einer overlay-tabelle hat: 'pages_language_overlay'

wenn jetzt also eine Übersetzung zur default sprache werden soll muss also schon mal folgendes passieren:

original page holen
die Felder aus pages_language_overlay darüber legen (da hilt TYPO3 mit Core-fuktionen)
dann die Sprach- und Referenzfelder aufräumen:
sys_language_uid,l18n_diffsource,t3_origuid(?)

jetzt muss das Ganze als neuer Datensatz in 'pages' abgelegt werden.
UND man muss sich die original UId merken, damit nachfolgende Referenzen in die neue UId gewandelt werden können (Feld tx_impexp_origuid?)

dann kann man alle Datensätze (primär tt_content) übertragen:
außer bei der Tabelle 'pages' werden die Übersetzungen in der gleichen Tabelle gepflegt. dafür gibt es dann noch das Feld l18n_parent. Auch hier wieder: default-sprache holen und mit der Übersetzung overlayen, und jetzt wird es komplizierter: welche UId ist jetzt massgeblich für Referenzen? die der Originalsprache, oder die der Übersetzung? das Ganze natürlich in der neuen Kopie mit der Information: alle Referenzen auf die Original-Uid müssen ausgetauscht werden.

hier komt zb. dann auch zum Tragen: wir haben ja schon die Seite kopiert, also ist das Feld pid anzupassen.

Viele Anpassungen dürften den Anpassungen beim export/import entsprechen: zb. auch Seiten Ids im Typoscript, Referenzen in Containerelementen (tt_content CType records, plugins, ...)

Es ist also schon einiges mehr als nur sys_language_uid austauschen.


aber wenn es dann mal jemand programmiert hat wird er sich seinen Platz im Herzen vieler Menschen redlich verdient haben :)

bernd
--
http://www.pi-phi.de/cheatsheet.html
_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an