[Frage] Problem, einzelnes mehrsprachiges CONTENT-Objekt mit Typoscript TYPO3-Version: -

  • florist florist
    Jedi-Ritter
    0 x
    130 Beiträge
    0 Hilfreiche Beiträge
    04. 11. 2013, 13:42

    Hallo

    Ich stehe vor einem Problem das ich mir einfach nicht erklären kann.
    Ich habe eine funktionierende Mehrsprachige Seite mit korrekter Sprachkonfiguration, TYPO3 4.7

    Nun möchte ich mir ein statisches Content Element aus einem SysOrdner auf allen Seiten anzeigen, bei Sprachwechsel soll die frz. Übersetzung angezeigt werden.

    1. ..
    2. 10 = CONTENT
    3. 10.table = tt_content
    4. 10.select {
    5. uidInList = 234 //Das ist die id des Inhaltselements.
    6. pidInList = 115 //Das ist der Ordner, in dem das Element liegt.
    7. languageField = sys_language_uid
    8. }

    In der default Sprache funktioniert es wunderbar,
    sobald ich die Sprache wechsel wird mir nichts angezeigt, eigentlich sollte nun doch das übersetzte CE angezeigt werden?

    Hab es auch bereits so versucht, ohne erfolg:

    1. ..
    2. 10 = CONTENT
    3. 10.table = tt_content
    4. 10.select {
    5. where = uid = 234
    6. andWhere.dataWrap = sys_language_uid = {GP:L}
    7. pidInList = 115 //Das ist der Ordner, in dem das Element liegt.
    8. }
    9. ...

    Die Sprachkonfiguration sollte korrekt sein, da alle anderen Inhalte, Seiten etc, korrekt übersetzt werden.

    In einem anderen Bereich der Website verwende ich folgendes TS; welches wiederrum funktioniert:

    1. 20 = CONTENT
    2. 20 {
    3. table = tt_content
    4. pidInList = 49
    5. where = colPos = 0
    6. ### Alle contents mit UNIX_TIMESTAMP - 1 WOCHE
    7. andWhere.dataWrap = date < {date:U}-604800
    8. languageField = sys_language_uid
    9. orderBy = date desc
    10. max = 1
    11. }

    ich vermute deshalb, die Zeile:
    uidInList = 234
    bewirkt, dass immer nur das eine Content Element ausgegeben wird, egal welche Language gewählt ist.

    Kann mir jemnad sagen wie ich das Problem in den Griss kriegen kann?
    Ich möchte nicht mit Sprchconditions arbeiten, wenn möglich...

    Grüsse
    Flo

  • Hilfreichster Beitrag

  • Chrissli Chrissli
    Jedi-General
    1 x
    1016 Beiträge
    28 Hilfreiche Beiträge
    06. 11. 2013, 00:26 - Hilfreichster Beitrag

    uidInList und pidInList bezieht sich jeweils auf die Seiten-ID, vermutlich solltest du einfach nicht beide gleichzeitig verwerden, dann sollte dein erstes Beispiel funktionieren.
    Mit uid/pidInList sorgst du nur dafür, dass du Inhalte aus einer anderen Seite als der aktuellen holen kannst, da sonst nur die Content-Elemente der aktuellen Seite abgefragt werden

    Wenn du nur das Content-Element mit der entsprechenden ID willst musst du das über den Where-Teil rausfiltern.

    God's in his heaven, all's right with the world


  • 1
  • 0 x
    20 Beiträge
    1 Hilfreiche Beiträge
    05. 11. 2013, 23:06

    Hallo,

    ich weiß nicht, ob es die beste Lösung ist, aber so funktioniert es:

    1. 10 = CONTENT
    2. 10.table = tt_content
    3. 10.select {
    4. where = (uid = 234 OR t3_origuid = 234)
    5. pidInList = 115
    6. languageField = sys_language_uid
    7. }

    Viele Grüße

  • Chrissli Chrissli
    Jedi-General
    1 x
    1016 Beiträge
    28 Hilfreiche Beiträge
    06. 11. 2013, 00:26

    uidInList und pidInList bezieht sich jeweils auf die Seiten-ID, vermutlich solltest du einfach nicht beide gleichzeitig verwerden, dann sollte dein erstes Beispiel funktionieren.
    Mit uid/pidInList sorgst du nur dafür, dass du Inhalte aus einer anderen Seite als der aktuellen holen kannst, da sonst nur die Content-Elemente der aktuellen Seite abgefragt werden

    Wenn du nur das Content-Element mit der entsprechenden ID willst musst du das über den Where-Teil rausfiltern.

    God's in his heaven, all's right with the world

  • florist florist
    Jedi-Ritter
    0 x
    130 Beiträge
    0 Hilfreiche Beiträge
    06. 11. 2013, 11:42

    Danke für die Tipps.
    Ich hab es nun selbst lösen können.
    Bin mir auch nicht so sicher ob es besonders elegant ist, aber wenigstens kann ich mir die Conditions sparen.
    Es funktioniert so ähnlich wie der TIpp von charhunter.

    1. 10 = CONTENT
    2. 10 {
    3. table = tt_content
    4. pidInList = 42
    5. uidInList = 3,30
    6. languageField = sys_language_uid
    7. }
    8.  
    9. }

    In uidInList habe ich die uids des dt. und des frz. Content Elements.
    languageField... sorgt dann dafür, dass immer nur das der aktuellen Sprache ausgegebne wird.

    Leider versteh ich nicht ganz warum es funktioiert, denn Chrissli hat schon recht eigentlich sollte uidInList eine pageId sein ,allerdings verhält es sich anders es geht tatsächlich auf die uid des CEs.

  • 1