Zum Inhalt springen

Wo wird Inhaltselement einer Sprachversion zugeordnet?

Erstellt am 10. April 2007 · 5 Antworten · letzte Antwort am 7. Mai 2007

Tags: Datenbank, Import & Export, Frage

sprain ·

Hallo zusammen!
Ich versuche mal, mein Problem zu erklären...

Für ein Typo3-Projekt erhalten wir 24 Sprachversionen von einem Übersetzer angeliefert. Diese sollen möglichst einfach und rasch in Typo3 importiert werden.
Mein Ansatz: Am Besten über ein eigenes Skript, welches die Inhalte direkt in die DB schreibt.

Soweit so gut.
Nur an einem Punkt scheitere ich:
Wo ist in der DB gespeichert, auf welcher Sprachversion ein Inhaltselement gespeichert ist?

Hier zur Veranschaulichung, was ich meine:
Bild: sprain.ch/…/t3_sprachimport.gif

Es ist nicht das Feld sys_language_uid in der tt_content, welches dies beeinflusst. Dieses Feld setzt zwar die Sprache des Inhaltselements, aber verschiebt dieses nicht in die korrekte Sprachversion der Seite.

Wer weiss weiter?
Danke für jeden Hinweis!
Gruss, sprain
[/b]

just2b ·

Hallo,

also bei Inhaltselementen geht das mit der Spalte sys_language_uid und bei Seiten mit der Tabelle pages_language_overlay

hoffe das hilft
lg georg

sprain ·

Hallo Georg
Danke - aber das hilft leider nicht.

Wie ich bereits beschrieben habe, hilft mir das Feld das Feld sys_language_uid in der tt_content an dieser Stelle nicht. Dieses Feld setzt zwar die Sprache des Content-Elements, aber das Inhaltselement wird deswegen im Backend nicht in der richtigen Sprachversion angezeigt (siehe Screenshot bei erstem Eintrag).

Hat noch jemand eine andere Idee?
Danke!
Gruss, sprain

thefox ·

Hallo sprain

hast du die Lösung schon gefunden ?

Ich hätte da ein/zwei Möglichkeiten die du prüfen müsstest.

1. Arbeitest du mit TemplaVoila...
Hat deine Datenstruktur folgenden Code drin ?

<T3DataStructure>
	<meta>
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">....

2. Müsste die übersetzte Version eine Referenz auf das "Orginal" haben, also
die uid des Default Textes in t3_origuid im übersetzen Element abspreichern. Dann muss sicherlich auch die pid übereinstimmen.

3. Dann gibt es noch die sys_refindex Tabelle, welche nachgefürt werden sollte.

gruss und viel spass noch

sprain ·

Hallo fox
sys_refindex ist ein gutes Stichwort.. Damit hab ich auch schon rumgespielt, doch ich werde mich nochmals darin vertiefen.
Melde mich dann mit Erfolgs- oder Misserfolgsmeldung

Gruss, sprain

sprain ·

Hallo zusammen

Hier die Lösung des Problem:
**************************************

In der Tabelle pages gibt es das Feld tx_templavoila_flex.
Darin ist gespeichert, welches Inhaltselement welcher Sprache im Backend zugeordnet ist:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<T3FlexForms>
    <data>
        <sheet index="sDEF">
            <language index="lDEF">
                <field index="field_content">
                    <value index="vDEF">141,164,142,147</value>
                </field>
            </language>
            <language index="lFR">
                <field index="field_content">
                    <value index="vDEF">290,360,359</value>
                </field>
            </language>
            <language index="lDE">
                <field index="field_content">
                    <value index="vDEF">388,456,455</value>
                </field>
            </language>
        </sheet>
    </data>
</T3FlexForms>

Im obigen Beispiel sind also die Einträge aus der Tabelle tt_content mit den uid 141,164,142,147 der Standardsprache zugeordnet, 290,360,359 gehören zu Französisch und 388,456,455 zu Deutsch.

Das wars...
Gruess, sprain