Farbige Menüs [Gelöst]

  • Coreblade Coreblade
    R2-D2
    0 x
    96 Beiträge
    0 Hilfreiche Beiträge
    24. 11. 2011, 11:28

    Hallo zusammen

    Ich möchte gerne mein Menü mit Farben versehen. Hierarchiestufe 2 soll die Farbe von Stufe 1 "erben".

    1. Hierarchie funktioniert super:

    1. lib.navigation = HMENU
    2. lib.navigation {
    3.  
    4.  
    5. 1 = TMENU
    6. 1 {
    7. noBlur = 1
    8. wrap = <ul class="vlist">|</ul>
    9. NO.wrapItemAndSub = <li>|</li>
    10. NO.ATagParams = class="red" || class="orange" || class="gold" || class="rose" || class="lightgreen" || class="green" || class="blue"
    11.  
    12. CUR = 1
    13. CUR.wrapItemAndSub = <li>|</li>
    14. CUR.ATagParams = class="red active" || class="orange active" || class="gold active" || class="rose active" || class="lightgreen active" || class="green active" || class="blue active"
    15.  
    16. }
    17. }

    2: Hierarchie so auch:

    1. lib.subnav = HMENU
    2. lib.subnav {
    3.  
    4. entryLevel = 1
    5.  
    6. 1 = TMENU
    7. 1 {
    8. noBlur = 1
    9. NO.wrapItemAndSub = <li>|</li>
    10.  
    11. CUR = 1
    12. CUR.wrapItemAndSub = <li>|</li>
    13. CUR.ATagParams = class="active"
    14. }
    15. }
    16. lib.subnav.1.wrap = <ul class="hlist red">|</ul>
    17. [end]
    18. lib.subnav.1.wrap = <ul class="hlist orange">|</ul>
    19. [end]
    20. lib.subnav.1.wrap = <ul class="hlist gold">|</ul>
    21. [end]
    22. lib.subnav.1.wrap = <ul class="hlist rose">|</ul>
    23. [end]
    24. lib.subnav.1.wrap = <ul class="hlist lightgreen">|</ul>
    25. [end]
    26. lib.subnav.1.wrap = <ul class="hlist green">|</ul>
    27. [end]
    28. lib.subnav.1.wrap = <ul class="hlist blue">|</ul>
    29. [end]

    Finde das Ganze aber ziemlich hässlich. Hat jemand eine elegantere Lösung?
    PS: Die erste Hierarchie ist horizontal, die zweite vertikal.

    Gruss Coreblade


  • 1
  • 0 x
    3273 Beiträge
    157 Hilfreiche Beiträge
    25. 11. 2011, 11:36

    Hallo.

    Warum nimmst Du dafür nicht CSS direkt? Wenn das Menü hierarchisch aufgebaut ist, dann tut doch auch:

    1. ul {color: red;}
    2. ul ul {color: orange;}
    3. ul ul ul { ... }

    Viele Grüße
    Julian

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • Coreblade Coreblade
    R2-D2
    0 x
    96 Beiträge
    0 Hilfreiche Beiträge
    25. 11. 2011, 11:40

    Hallo

    Das Menü hat nur zwei Ebenen. Die zweite soll einfach die Farbe der Ersten übernehmen. Kann das so wirklich mit CSS gelöst werden? Glaube nicht, oder irre ich mich da?

    Gruss Coreblade

  • 0 x
    3273 Beiträge
    157 Hilfreiche Beiträge
    25. 11. 2011, 12:25

    :o Ups, nicht genau gelesen.

    Wenn die Navigationsebenen nicht ineinander verschachtelt sind (also Ebene 2 nicht Listen innerhalb der jeweiligen Einträge aus Ebene 1 sind), dann hat die Vererbung nicht hin. Du hast im Moment zwei unabhängige TS-Objekte, die voneinander nichts wissen. Und in HTML hast Du zwei Listen (UL), die ebenfalls keine Info haben, dass sie in einem Verhältnis zueinander stehen (==> via CSS nicht schachtelbar).

    In dem Fall dürfte Deine Lösung schon ziemlich die beste sein.
    Denkbar wäre noch eine Lösung anhand von CSS-Klassen aus der Seiten-ID. Für Ebene 1 class="p{field:uid}", für Ebene 2 wäre das dann class="p{field:pid}". Damit würdest Du Dir Condiotions und optionSplit sparen, dafür aber "komisch2, nicht so sprechende CSS-Klassennamen bekommen.

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • Coreblade Coreblade
    R2-D2
    0 x
    96 Beiträge
    0 Hilfreiche Beiträge
    25. 11. 2011, 13:18

    Supi. Danke für Deine Antwort. In dem Falle lasse ich es so stehen.

  • 1