Zum Inhalt springen

Fehler in der Contentanzeige

Erstellt am 31. Juli 2006 · 7 Antworten · letzte Antwort am 1. August 2006

Tags: Frage

teralux ·

So, nun ist es soweit. Die letzten zwei Jahre habe ich alle Probleme durch Recherche in diesem Forum oder anderswo lösen können, aber jetzt komme ich nicht mehr weiter:

Mehrsprachigkeit - Das Menu und die Seitenüberschriften (Subtitel) werden alle ohne Probleme übersetzt. Aber der Content macht komische Dinge: Wenn ich den neuen Sprachsatz auf einer Seite angelegt habe und "Standard-Inhalte kopiere" klicke wird im Backend alles korrekt angezeigt, aber im Frontend wird auch in der englischen Version weiterhin nur der Deutsche Inhalt angezeigt. Wenn ich nun aber nicht die Kopieren-Funktion verwende, sondern einen neuen Datensatz anlege wird der englische Inhalt in der englischen und der deutschen Version angezeigt.
Im Newsmodul (tt_news) funktioniert die Mehrsprachigkeit im übrigen einwandfrei.

Typo3 4.0 ist in diesem Fall auf einem Mittwald-Server installiert.

Die Installation der Mehrsprachigkeit scheint nach mehrfachen Überprüfen o.k. zu sein.
Das Typoscript sieht so aus:

config.linkVars = L
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = eng
[global]

Ich habe das PHP-Script für das Umschaltmenu noch nicht eingebaut, aber daran sollte es doch wohl nicht liegen? (Die Sprachversionen kann man zum Teste ja auch über die Parameter L=0, bzw. L=1 anwählen ...)

Kennt jemand dieses Problem oder weiß woran das liegen könnte?

Besten Dank im Vorraus und schöne Grüße
Merian

McGregor ·

Hi!

Hast du auch den Seitenheader übersetzt? Daran lag es mal bei mir.
Dann das übliche: Cache löschen.
Mehr fällt mir momentan nicht ein.

Grüße
McGregor

teralux ·

Hallo McGregor,

Danke erstmal für Deine Antwort.
Aber am Seiteheader liegt es nicht, bei den Seitentiteln und Untertiteln werden immer die richtigen Übersetzungen angezeigt.
Ich denke am Cache liegt es auch nicht, da Änderungen immer sofort angezeigt werden ... nur halt nicht so wie es ein soll!

Hab mir schon gedacht, dass das kein so gängiges Problem ist ... sonst hätte ich ja im großen weiten Web was dazu finden können ...

Aber Falls jemand noch eine Idee dazu hat ...

Beste Grüße
Merian

teralux ·

So, mittlerweile kann ich mein Problem ein wenig konkretisieren:

1. In der deutschen sowie der englischen Version wird immer der gleiche Content angezeigt.

2. Wenn ich "Standard-Inhalte kopieren" benutze wird abwechselnd der Content aus der englischen Spalte und der deutschen Spalte angezeigt. Also Content-englisch-1 darunter Content-deutsch-1, dann Content-englisch-2 und dann Content-deutsch-2, usw ... bis die Marker zuende sind.
Wenn ich die Inhalte nicht kopiere und übersetze sondern in der englischen Spalte neue (englische) Datensätze anlege werden erst die englischen Datensätze angezeigt und dann die deutschen. Also Content-englisch-1, Content-englisch-2, ... und dann Content-deutsch-1, usw. ...

Ich habe keine Idee mehr woran das liegen könnte ...

Merian

McGregor ·

Hi!

Jetzt muss ich doch mal blöd fragen:
Du hast sowas ähnliches für dein tt_content angegeben, oder?

select.languageField = sys_language_uid

Grüße
McGregor

teralux ·

Nein, habe ich nicht. Ich habe im Setup-Feld nur den oben geposteten Code. In keiner meiner Tutorials steht, dass man dies zu tun hat.

Wo würde man diese Zeile denn genau einfügen? Ins Setup-Feld außerhalb der Klammern?

Schöne Grüße
Merian

McGregor ·

Hi!

Na dann kann das ja nicht gehen ... Also
Ich definiere mir immer temporäre Bereiche und kopiere die dann an die richtige Stelle. So finde ich mich besser zurecht. Das sind dann bei mir so aus:

temp.inhalt = CONTENT
temp.inhalt {
 table = tt_content
 select.orderBy = sorting
 select.where = colPos = 0
 select.languageField = sys_language_uid
}

page = PAGE
page {
 # allgemeiner Kram
 10 = TEMPLATE
 10.template = FILE
 10.template.file = fileadmin/template/grund.htm
 10.marks {
  CONTENT < temp.inhalt
  # und natürlich auch andere Marker...
 }
}

Das ganze steht also im TypoScript.

Grüße
McGregor

P.S. Ach ja. Das Problem momentan ist, dass die Inhalte nur nach der PID angezeigt werden. Da stehen bei dir aber beide Sprachen drin (schau mal im Phpmyadmin in der Tabelle tt_content nach). Du musst jetzt deinem System sagen, dass es auch auf die Sprache ankommt. Also oben die Klausel nach der Sprache. TYPO3 baut aus diesen Angaben eine SQL-Anfrage zusammen. So ähnlich wie:
"SELECT * FROM tt_content WHERE uid=??? AND sys_language_uid = ??? AND colPos = 1 ORDER BY sorting DESC"

Aber ich glaube das geht nun zu weit.

teralux ·

Ja! Habs gefunden!
Danke McGregor, Du hast mir sehr geholfen!

Hier habe ich nun auch einen Thread gefunden in dem das selbe Problem behandelt wird:

http://typo3forum.hosting-agency.de/sprachenwaehler-und-generelles-sprachenproblem-t698.html

Man muss im TS noch den tt_content-Elementen die Zeile, die McGregor geschrieben hat, zuweise:

select.languageField = sys_language_uid

Könnte dann also so aussehen:

TEXT = CONTENT
     TEXT {
     table = tt_content
     select.orderBy = sorting
     select.where = colPos = 0
     select.begin = 0
     select.max = 1
     select.languageField = sys_language_uid
    }

Vielen Dank nochmal!
Merian