DATA und cObject

  • Ei-Dotter Ei-Dotter
    Jedi-Ritter
    0 x
    137 Beiträge
    1 Hilfreiche Beiträge
    28. 09. 2010, 11:55

    Hallo,

    ich möchte gerne auf einer locallang.xml etwas auslesen, und zwar in Anhängigkeit eines Parameters in der URL.

    Das "zusammenbauen" des Befehls klappt gut, also folgender Code gibt mir den Befehl richtig mit dem Parameter am Ende aus:

    1. page.headerData.45 = TEXT
    2. page.headerData.45.cObject = TEXT
    3. page.headerData.45.cObject.data = GPVar:m
    4. page.headerData.45.cObject.wrap = lll:EXT:abc/locallang.xml:pi_monat|

    nur wenn ich ihn jetzt aufrufen will, dann geht das nicht, weiss einer was an meinem Aufruf falsch ist?

    1. page.headerData.55 = TEXT
    2. page.headerData.55.data.cObject = TEXT
    3. page.headerData.55.data.cObject.data = GPVar:m
    4. page.headerData.55.data.cObject.wrap = lll:EXT:abc/locallang.xml:pi_monat|


  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    28. 09. 2010, 12:07

    Du lässt dir dein lll:EXT:abc/locallang.xml:pi_monat ... doch nur als Text ausgeben. Da ist weder ein data noch ein insertData. Daher wird er dir daraus auch keinen dynamischen Wert auslesen, sondern nur die Konstruktion als String zurückgeben.

    Versuch mal

    1. page.headerData.45.insertData=1

  • Ei-Dotter Ei-Dotter
    Jedi-Ritter
    0 x
    137 Beiträge
    1 Hilfreiche Beiträge
    28. 09. 2010, 12:23

    Doch, das stand dadrunter, war falsch formatiert:

    1. page.headerData.55 = TEXT
    2. page.headerData.55.data.cObject = TEXT
    3. page.headerData.55.data.cObject.data = GPVar:m
    4. page.headerData.55.data.cObject.wrap = lll:EXT:abc/locallang.xml:pi_monat|

    Habe es mit insertData=1 versucht, leider ohne Erfolg. Hast Du noch eine Idee?

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    28. 09. 2010, 12:37

    Hast du denn schon mal versucht, die Konstruktion erst einmal ohne dynamische Werte zu testen?
    Also beispielsweise

    1. page.headerData.55.data=lll:EXT:abc/locallang.xml:pi_monat1

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    28. 09. 2010, 12:40

    Oder muss LLL vielleicht groß geschrieben werden? Kann das sein?

  • Ei-Dotter Ei-Dotter
    Jedi-Ritter
    0 x
    137 Beiträge
    1 Hilfreiche Beiträge
    28. 09. 2010, 12:40

    Ohne die dynamischen Werte geht es perfekt. Sogar mit Übersetzungen der Monate und allem.

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    28. 09. 2010, 12:44

    Fehlt vielleicht noch ein underscore vor dem Monat? Also dass die Lables in der Form pi_monat_1, pi_monat_2, ... in der locallang stehen?
    Ansonsten weiß ich auch nicht. Sieht alles gut aus. Viel Glück bei der Bug-Suche!

  • Ei-Dotter Ei-Dotter
    Jedi-Ritter
    0 x
    137 Beiträge
    1 Hilfreiche Beiträge
    28. 09. 2010, 13:08

    Ich habe es mal auf den Kern reduziert:

    Diese Zeile geht perfekt - der Monat September wird in der jeweiligen Sprache angezeigt:

    1. page.headerData.55.data = lll:EXT:abc/locallang.xml:pi_monat9

    Die nächsten Zeilen geben mir nur den Text (lll:EXT:abc/locallang.xml:pi_monat9) aus, aber nicht den Monatsnamen aus:

    1. page.headerData.55.data = GPVar:m
    2. page.headerData.55.wrap = lll:EXT:abc/locallang.xml:pi_monat|
    3. page.headerData.55.insertData = 1

    Seltsam - oder?

  • Ei-Dotter Ei-Dotter
    Jedi-Ritter
    0 x
    137 Beiträge
    1 Hilfreiche Beiträge
    28. 09. 2010, 13:29

    Ich weiss jetzt warum es nicht geht.

    insertData und dataWrap ersetzen bloss Dinge in {}-Klammer, der rest bleibt.

    Man muss das vorher in ein Register laden und dann dataWrap machen.

    Ich schaue gerade mal wie sowas geht...

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    28. 09. 2010, 13:34

    Richtig, für insertData muss das Ganze in geschweiften Klammern stehen. Ich verstehe jedoch nicht, warum die Konstruktion mit data.cObject nicht funktioniert hat.
    Wozu willst du jetzt mit register arbeiten?
    Mach doch folgendes:

    1. page.headerData.55.wrap = {lll:EXT:abc/locallang.xml:pi_monat|}

    Dann hast du deine geschweiften Klammern.