additionalParameter im Link von TMENU

  • rush rush
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    13. 04. 2010, 12:39

    Hallo zusammen,

    ich habe folgendes Problemchen: In einem Textmenü wird jeder Punkt in in einer bestimmten Farbe dargestellt. Diese Farbe soll in der dadurch aufgerufenen Seite und allen dazugehörigen Unterseiten auch für die Überschriften verwendet werden. Um das zu bewirken, muß ich die Position des entsprechenden Items als Parameter in den Link hineinbekommen. Ich habe schon alles Mögliche versucht, aber irgendwie kriege ich das nicht hin. Der Parameter wird bei den Menüzuständen NO und ACT benötigt. Wie kann ich den typolink in TMENUITEM denn ansprechen? Das müßte doch eigentlich mit 1.NO.stdWrap.typolink.additionalParams... funktionieren, tut es aber nicht. Hier mein schon funktionierendes TypoScript:
    [TS]1 = TMENU
    1.NO {
    allWrap = <li id="active{register:count_MENUOBJ}">|</li>
    allWrap.insertData = 1
    #stdWrap.typolink.additionalParams.data = register:count_MENUOBJ
    #stdWrap.typolink.additionalParams.dataWrap = &pos=|
    }
    1.CUR = 1
    1.CUR {
    doNotLinkIt = 1
    allWrap = <li class="current" id="active{register:count_MENUOBJ}">|</li>
    allWrap.insertData = 1
    }

    1.ACT = 1
    1.ACT {
    allWrap = <li class="aktiv" id="active{register:count_MENUOBJ}">|</li>
    allWrap.insertData = 1
    #stdWrap.typolink.additionalParams.data = register:count_MENUOBJ
    #stdWrap.typolink.additionalParams.dataWrap = &pos=|
    }
    }
    [/TS]

    Die auskommentierten Teile bringen absolut kein Ergebnis. Ich komme einfach nicht damit weiter. Kann mir bitte jemand helfen? Das kann doch eigentlich nicht so kompliziert sein. Das Problem ist, daß die Zeit drängt. Die Seite soll am Ende der Woche freigeschaltet werden.

    Liebe Grüße
    A.


  • 1
  • Dander Dander
    Flash Gordon
    0 x
    2287 Beiträge
    0 Hilfreiche Beiträge
    14. 04. 2010, 18:05

    warum änderst du nicht einfach die body class und definierst abhängig davon die farben im css ?

  • rush rush
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    14. 04. 2010, 18:18

    das mache ich ja schon, sobald ich weiß, auf welche Farbe ich einstellen muß. Momentan habe ich als Notlösung über pidInList verzweigt. Es funktioniert auch so, aber ich will so wenig wie möglich feste Seitennummern in meinen Templates haben. Deshalb also die Parameterübergabe beim Aufruf eines bestimmten Menüpunktes. Ich stelle mir das so vor: Bei Aufruf von Menüpunkt 1 wird &pos=1 angehängt. Das erzeugt dann für den Body in der nun folgenden Seite und allen Unterseiten (daher auch bei ACT) eine Klasse farbe1 usw.

    Verstehst Du, wie ich mir das vorstelle?

  • Dander Dander
    Flash Gordon
    0 x
    2287 Beiträge
    0 Hilfreiche Beiträge
    16. 04. 2010, 14:13

    du könntest das layout feld der seite verwendet. Und darüber die Farbe einstellen und die Werte dann an die class im body anhängen. So in der art:

    [b]Page TSConfig[/b]
    [TS]TCEFORM.pages {
    layout.altLabels.2 = Rot
    layout.altLabels.1 = Grün
    layout.altLabels.0 = Blau
    }
    [/TS]

    TypoScript für die Bodyclass
    [TS][globalVar=TSFE:page|layout=1]
    page.bodyTag = <body class="green">
    [global][/TS]

    oder evt. so
    [TS]page.bodyTag = <body class="farbe-{field:layout}">
    [/TS]

  • rush rush
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    16. 04. 2010, 15:39

    Hallo Dander,
    vielen Dank für Deine Lösungsvorschläge, aber das Layout-Feld mußte ich schon anderweitig einsetzen. Das Farbproblem selbst ist ja prinzipiell schon gelöst und ist bereits seit einigen Tagen online. Mich ärgert nur, daß ich es nicht auf dem Weg geschafft habe, wie ich es mir vorgestellt habe. Das wäre viel eleganter und flexibler gewesen.
    Ich will es einfach wissen. Deshalb frage ich noch mal: Wie kriege ich einen zusätzlichen Paramater (additionalParams) in den Link im TMENUITEM rein. Das muß doch irgendwie machbar sein. Es soll dann eben so aussehen:

    [HTML]<li id="active1"><a href="index.php?id=20&pos=1">Menüpunkt1</a></li>
    <li id="active2" class="current" id="active2">Menüpunkt2</li>
    <li id="active3"><a href="index.php?id=22&pos=3">Menüpunkt3</a></li>
    [/HTML]

    Die Position pos kriege ich aus register:countMENUOBJ. Das ist nicht das Problem. Ich weiß nur nicht, wie ich an den Link rankomme.[/HTML][/TS]

  • algiz algiz
    Padawan
    0 x
    55 Beiträge
    0 Hilfreiche Beiträge
    29. 04. 2010, 11:53

    Verlass dich nicht nur auf die TSRef hier, denn die ist an vielen Stellen nicht vollständig.

    Laut der TSRef auf typo3.org hat auch [url=http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.3.1/view/1/9/#id2533388]TMENUITEM[/url] die Eigenschaft additionalParams.

  • rush rush
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    29. 04. 2010, 12:06

    Danke algiz, das war's! In Zukunft werde ich immer in auf typo3.org nachschauen. Ich lese halt bloß lieber auf Deutsch, da verstehe ich es schneller ;)

  • 1