Ein einzelnes Dropdown eines Menus zweispaltig ausgeben

  • thofei thofei
    T3PO
    0 x
    10 Beiträge
    0 Hilfreiche Beiträge
    05. 03. 2012, 11:35

    Hallo,

    ich habe ein recht normales Menu, in dem die zweite Ebene per Dropdown eingebunden wird. Ich stehe jetzt aber vor dem Problem, dass bei einer Ebene sehr sehr viele Unterseiten vorhanden sind und ich möchte daher für diesen einen Menüpunkt das Dropdown zweispaltig (oder vielleicht sogar dreispaltig) haben.

    Ich habe gelesen, dass man mittels OVERRIDE einzelne Einträge zu einer bestimmten ID anders ausgeben kann, meine bisherigen Versuche in die Richtung sehen wie folgt aus, ich möchte erstmal für diese einen Punkt im <li> ein paar XXXe ausgeben, um das mit dem OVERRIDE zu testen:

    1. subparts.HAUPTMENUCSS = HMENU
    2. subparts.HAUPTMENUCSS.entryLevel = 1
    3. subparts.HAUPTMENUCSS {
    4. ### Erste Ebene ###
    5. 1 = TMENU
    6. 1 {
    7. wrap = <ul class="menu"><li><img src="/fileadmin/web/template/images/navbar-left.jpg" border="0"></li><li><a href="index.html" class="active">Home</a></li>|<li><img src="fileadmin/arrowecs/template/images/navbar-tile.jpg" width="251" height="38" border="0"></li><li><img src="fileadmin/web/template/images/navbar-right.gif" border="0"></li></ul>
    8.  
    9. expAll = 1
    10. NO.wrapItemAndSub = <li onmouseover="showie6menu(this)" onmouseout="hideie6menu(this)">|</li>
    11.  
    12. ACT < .NO
    13. ACT = 1
    14. ACT.ATagParams = class="active"
    15. }
    16.  
    17. ### Zweite Ebene ###
    18. 2 = TMENU
    19. 2 {
    20. wrap = <ul onmouseover="showie6menu(this)" onmouseout="hideie6menu(this)">|</ul>
    21. NO.allWrap = <li>|</li>
    22.  
    23. NO.allWrap.override = <li> XXX | XXX</li>
    24. NO.allWrap.override.if {
    25. equals.field = uid
    26. value = 1388
    27. }
    28. }
    29. }

    Leider funktioniert es so nicht. Die ID 1388 ist die ID des Punktes "Hersteller" in meinen Seiten, fahre ich hier mit der Maus drüber, haben die Unterpunkte im Dropdown leider keine XXXe.

    Und hätte eine freundlichen Seele auch gleich eine Lösung oder Idee für die Ausgabe des Menüs in zwei oder drei Spalten? Ich habe versucht, nach so etwas zu googlen, bin aber nicht wirklich fündig geworden.

    Vielen Dank
    Thomas


  • 1
  • fuss fuss
    Jedi-Meister
    0 x
    375 Beiträge
    0 Hilfreiche Beiträge
    05. 03. 2012, 20:00

    Olla!

    Vorab: die 2. Ebene würde ich auch mit wrapItemAndSub erstellen anstelle allWrap. So sind auch in dieser Ebene die ul li Tags korrekt verschachtelt.

    Der Einfachheit halber würde ich mir in alle Elemente (der 1. Ebene) eine dynamische ID in das li Tag mit aufnehmen, und das if Konstrukt weglassen.

    1. NO.wrapItemAndSub = <li id="uid{field:uid}" onmouseover="showie6menu(this)" onmouseout="hideie6menu(this)">|</li>

    Eventuell müsste dort noch ein insertData = 1 mit rein, damit field:uid auch korrekt mit der ID der Seite befüllt wird.

    Da nun alle li eine ID haben, könnte dann Dein CSS wie folgt aussehen:

    1. /* ul der 2. Ebene für Seite 1388 auf 400px Breite setzen */
    2. ul.menu li#uid1388 ul {
    3. width: 400px;
    4. }
    5. /* ul li der 2. Ebene auf knapp die Hälfte der Breite setzen und floaten */
    6. ul.menu li#uid1388 ul li {
    7. width: 190px;
    8. margin-right: 10px;
    9. display: inline;
    10. float: left;
    11. }

    Somit sollte das ul der 2. Ebene der Seite 1388 nun 2-spaltigen Inhalt haben.

    gruss, fuss

    my system:
    C-64 I, 65816@20mhz, 16mb ram, 4x 6581r4 (12 channel fm-sound), 384mb scsi hd
    go sixtyfour! go!

  • thofei thofei
    T3PO
    0 x
    10 Beiträge
    0 Hilfreiche Beiträge
    06. 03. 2012, 09:53

    ***
    selbst gelöst, insertData muss per NO.wrapItemAndSub.insertData = 1 eingebunden werden

    Vielen Dank Fuss für den Hinweis in die richtige Richtung!
    ****

    Hallo Fuss,

    ich habe das entsprechend abgeändert:

    1. NO.wrapItemAndSub = <li id="uid{field:uid}" onmouseover="showie6menu(this)" onmouseout="hideie6menu(this)">|</li>
    2.  

    leider ergibt mir das im resultierenden HTML-Quelltext nur die folgende Ausgabe:

    1. <li id="uid{field:uid}" onmouseover="showie6menu(this)" onmouseout="hideie6menu(this)"><a href="hersteller.html" onfocus="blurLink(this);">Hersteller</a>

    sprich hier findet leider keine Ersetzung mit der Seiten-ID statt. Hast du eine Idee, warum das nicht funktioniert?

    Vielen Dank

  • fuss fuss
    Jedi-Meister
    0 x
    375 Beiträge
    0 Hilfreiche Beiträge
    06. 03. 2012, 20:47

    Müsste es nicht

    1. NO.wrapItemAndSub.insertData = 1
    heissen?

    my system:
    C-64 I, 65816@20mhz, 16mb ram, 4x 6581r4 (12 channel fm-sound), 384mb scsi hd
    go sixtyfour! go!

  • 1