mehrfarbiges Menu
Eingetragen von Olivier (74)
am 19.08.2007 - 11:39 Uhr in
am 19.08.2007 - 11:39 Uhr in
Hallo zusammen,
ich habe Probleme ein Menu mehrfarbig zu gestalten. Gibt es eine Möglichkeit in einem Menu verschiedene CSS Klassen zu deklarieren?
Vielen Dank
Gruß
Olivier
- Anmelden oder Registrieren um Kommentare zu schreiben
Meist geht das auch ohne
am 20.08.2007 - 08:33 Uhr
Meist geht das auch ohne eigene, zusätzliche Klassen mit verschachtelten ul und li's, poste mal genau was du geändert haben willst.
gruß pebosi
gruß pebosi
--
https://pebosi.net
Naja aber wenn ich mir den
am 20.08.2007 - 19:03 Uhr
Naja aber wenn ich mir den Quellcode so ansehe..
<div id="navigation" class="clear-block <div id="block-menu-46" class="block block-menu">
<div class="content">
<ul class="menu">
<li class="leaf"><a href="/drupal/">Home</a></li>
<li class="leaf"><a href="/drupal/?q=user/1">My account</a></li>
</ul>
</div>
....dann kann ich "Home" nicht eine andere Farbe geben wie "My account" da es die selbe Klasse hat. Aber genau so eine Funktion suche ich.
Gruß
Olivier
<?php function
am 20.08.2007 - 19:08 Uhr
<?php
function theme_menu_item($mid, $children = '', $leaf = TRUE) {
return '<li class="'.$mid ''. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children ."</li>\n";
}
?>
theme mit deinem THEME Namen ersetzen und das ganze in die template.php packen
dann wird jedes Menu-Item mit ihrem MID ausgegeben und das kann man dann themen
Hm...scheint etwas mit der
am 20.08.2007 - 19:21 Uhr
Hm...scheint etwas mit der Schreibweise nicht zu stimmen....
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
suche noch...
So sollte es
am 20.08.2007 - 19:26 Uhr
So sollte es gehen:
<?php
function theme_menu_item($mid, $children = '', $leaf = TRUE) {
return '<li class="mid-'.$mid .' '. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children ."</li>\n";
}
?>
--
sanduhrs · Stefan Auditor · Drupalcenter
---------------------------------------------------------------------
http://erdfisch.de · http://audiens.de · http://drupal.org/user/28074
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Fehler
am 20.08.2007 - 19:27 Uhr
Hinter $mid die beiden Hochkommata entfernen.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Stefan hat recht
am 20.08.2007 - 19:28 Uhr
So wie Stefan geschrieben hat ist es richtig.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Wow, was für ein
am 20.08.2007 - 19:50 Uhr
Wow,
was für ein Feedback.
Danke an alle. Ich fasse das jetzt mal zusammen:
DAS funktioniert:
<?php
function THEMENAME_menu_item($mid, $children = '', $leaf = TRUE) {
return '<li class="mid-'.$mid . ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children ."</li>\n";
}
?>
Gruß
Olivier
Bist Du sicher, ich denke
am 20.08.2007 - 19:54 Uhr
Bist Du sicher, ich denke das Leerzeichen solltest Du drin lassen.
vg
--
sanduhrs · Stefan Auditor · Drupalcenter
---------------------------------------------------------------------
http://erdfisch.de · http://audiens.de · http://drupal.org/user/28074
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Ich habe einen Punkt, die
am 21.08.2007 - 11:40 Uhr
Ich habe einen Punkt, die Hochkommas und das Leerzeichen entfern und alles läuft problemlos.
Mit Deinem Code erhhältst
am 21.08.2007 - 11:43 Uhr
Mit Deinem Code erhhältst Du z.B. eine Klasse
mid-5leaf
es sollte aber heissenmid-5 leaf
Ich würde also das Leerzeichen nicht entfernen, das liegt aber selbstverständlich an Dir.
vg
--
sanduhrs · Stefan Auditor · Drupalcenter
---------------------------------------------------------------------
http://erdfisch.de · http://audiens.de · http://drupal.org/user/28074
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Bei mir klappts nicht
am 28.08.2007 - 10:50 Uhr
Bei mir funktioniert das nicht, was mache ich falsch? Den Code muss ich der php Datei meines Templates hinzufügen?! Bei mir heißt sie page.tpl.php. Und THEMENAME ändere ich in den Namen von meinem Theme. Jetzt sollten ja die verschiedenen Menüpunkte je eine eigene Klasse bekommen. Wenn ich mir den Quelltext anschaue sieht der aber immer noch so aus, wie am Anfang bei Olivier.
Sollte aber gehen
am 28.08.2007 - 12:51 Uhr
Hallo,
das muss nicht in die page.tpl.php, sondern in die template.php. Wenn Du keine hast, leg einfach eine solche Datei an.
Gruß,
Boris
Wofür ein Leerzeichen im Klassennamen?
am 28.08.2007 - 18:29 Uhr
Ist zwar etwas Off-Topic, da die Frage aber gut hier rein passt. Wofür ist das Leerzeichen im Klassennamen gut? bzw. wie lautet hierzu die CSS-Semantic? Hatte neulich schon einmal das Problem, dass ich eine Klasse mit Leerzeichen stylen wollte. Erst als ich nur das erste Wort der Klasse (bis zum Leerzeichen) benutzt hatte hat es funktioniert. Den Klassennamen hatte ich im ConTemplate ermittelt und Cut&Pasted, sollte also kein Rechtschreibfehler gewesen sein. Woran kann der Fehler gelegen haben?
CU
Mehrere Klassen
am 28.08.2007 - 18:34 Uhr
Wenn Klassennamen durch Leerzeichen getrennt sind, handelt es sich um mehrere Klassen und nicht um eine mit Leerzeichen. Für den Zugriff in einer CSS benutzt man also entweder die eine oder die andere Klasse (wobei die Menge nicht auf zwei beschränkt ist).
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services