Zum Inhalt springen

Menüpunkte unterschiedlich wrappen

Erstellt am 12. September 2011 · 4 Antworten · letzte Antwort am 12. September 2011

Tags: Frage

corona ·

Hallo zusammen,

ich habe folgendes TS für mein Menü:

menu.top.horizontal = HMENU
menu.top.horizontal {
        wrap = <ul id="menu">|</ul>
          1 = TMENU
        1 {
            expAll = 1
            noBlur = 1
            NO = 1
            NO {
                ATagTitle.field = abstract // description // subtitle // title
                wrapItemAndSub = <li> | </li>
                stdWrap.htmlSpecialChars = 1
            }
            IFSUB < .NO
            IFSUB {
                ATagParams.stdWrap.cObject = TEXT
                ATagParams.stdWrap.cObject { 
                    wrap = class="drop"
                }
            }
        }
        2 < .1
        2 = TMENU
        2.wrap = <div class="dropdown_2columns">|</div>
        2.NO.wrapItemAndSub = <div class="col_2"><h2> | </h2></div>
        2.IFSUB = 0
        ...
    }

Mein Problem ist jetzt nur, dass ich für bestimmte Menüpunkte anstatt
2.wrap = <div class="dropdown_2columns">|</div>
2.wrap = <div class="dropdown_3columns">|</div> verwenden will. Ich habe leider keine Ahnung, wie ich das machen soll. Ich habe es schon mit stdWrap probiert und override. Aber irgendwie will alles nicht funktionieren.

Ich hoffe mir kann jemand helfen. Danke

fiedomedia ·

Hallo corona,

corona schrieb

Mein Problem ist jetzt nur, dass ich für bestimmte Menüpunkte anstatt
2.wrap = <div class="dropdown_2columns">|</div>
2.wrap = <div class="dropdown_3columns">|</div> verwenden will.

Wie unterscheidest du denn, wann es 2spaltig und wann 3spaltig werden soll?
Bei einer bestimmten Seite, oder einem bestimmten Layout, oder...?

Grüße Patrick

corona ·

Das soll nach der UID der Seite geschehen. Also zB UID 4,5,6 mit 3 Spalten und der Rest mit 2 Spalten.

Ich weiß eben nur nicht, wie ich das umsetzen soll/kann.

fiedomedia ·

Hallo Corona,

probiers mal mit diesem TS (ungetestet):

menu.top.horizontal = HMENU
menu.top.horizontal {
      wrap = <ul id="menu">|</ul>
        1 = TMENU
        1 {
            expAll = 1
            noBlur = 1
            NO = 1
            NO {
                ATagTitle.field = abstract // description // subtitle // title
                wrapItemAndSub = <li> | </li>
                stdWrap.htmlSpecialChars = 1
            }
            IFSUB < .NO
            IFSUB {
                ATagParams.stdWrap.cObject = TEXT
                ATagParams.stdWrap.cObject { 
                    wrap = class="drop"
                }
            }
        }
        2 < .1
        2.wrap = <div class="dropdown_2columns">|</div>
        # überschreibe den Wrap
        2.wrap.override = <div class="dropdown_3columns">|</div>
        # nur wenn
        2.wrap.override.if {
            isInList.field = uid
            # die uid der Seite in der Liste vorhanden ist
            value = 4,5,6
        }
        2.NO.wrapItemAndSub = <div class="col_2"><h2> | </h2></div>
        2.IFSUB = 0
        ...
    }

Grüße Patrick

corona ·

Viiielen Dank. =)
Es hat zwar mit 2.wrap.override nicht funktioniert, aber mit 2.stdWrap.wrap.override.
Es gibt bei wrap alleine glaube ich die override Funktion nicht. Trotzdem hat mich dein Beitrag auf die richtige Lösung gebracht. Thx!

Noch eine andere Frage: Wenn ich mehrmals unterscheiden will, wie muss ich das dann machen? Also zB mache standardmäßig 3 Spalten, aber für UID 4,5,6 2 Spalten und für 2,3 1 Spalte?