Zum Inhalt springen

CSS-Datei im Header einfügen wenn Submenu vorhanden

Erstellt am 14. Mai 2009 · 1 Antwort · letzte Antwort am 14. Mai 2009

Tags: Frage

z3ck3 ·

Hi,

ich habe folgends Problem und suche schon Studnenlang nach einer Lösung. Ich möchte das eine CSS-Datei im header geladen wird wenn ein Submenu vorhanden ist, um das layout der Seite anzupassen. Folgender Code funktioniert natürlich nicht, sollte aber mein Problem verdeutlichen:

lib.sidebarMenu = HMENU
lib.sidebarMenu.entryLevel = 2
lib.sidebarMenu.1 = TMENU
lib.sidebarMenu.1 {
  expAll = 1
  wrap = <div id="sidebarNavigation"><ul class="menu">|</ul></div>
  noBlur = 1
  NO = 1
  NO {
    stdWrap.htmlSpecialChars = 1
    linkWrap = <li>|</li>
    RO=1
  }
}
page.headerData {
  15 = TEXT
  15.value = <link rel="stylesheet" type="text/css" href="sidebar.css" />
  15.if {    
    value < lib.sidebarMenu
    equals =
    negate = 1
  }
}

"value < lib.sidebarMenu" funktioniert natürlich nicht. Tausche ich testweise "lib.sidebarMenu" an der stelle durch ein "lib.sidebarMenu2.value" aus welches ich mit "lib.sidebarMenu = TEXT" und "lib.sidebarMenu.value =" gesetzt habe, dann geht es. Aber lib.sidebarMenu hat ja kein value der nur dann gesetzt wird wenn das menu vorhanden ist oder ähnliches. Ich weiß nicht wie ich das handhaben muss.

Wie kann ich das Problem sonst lösen? Und zwar möglichst elegant. Mein Problem bei der Sache ist das es ein paar wenige Seiten gibt die kein Submenu haben. Ich möchte aber auch nicht händisch diese Seiten eintragen, also bestimte IDs ausschließen. Die Redakteuere sollen sich nicht um die gestaltung der Seite sorgen müssen sondern einfach Ihre Seiten anlegen wo sie meinen das Sie hinein sollen.

Es wäre super wenn mir jemand helfen könnete.

Gruß
Hauke

z3ck3 ·

So nachdem ich seid gestern immer wieder über dem Problem hin, hier die Lösung:

page.headerData {
  15.if.isTrue.cObject < lib.sidebarMenu
  15 = TEXT
  15.value = <link rel="stylesheet" type="text/css" href="style.css"/>
}

Manchmal sieht man vor lauter Tutorials, Codebeispielen und Referenzen die Lösung nicht, die doch so einfach ist.