Menu active trails von <a ...> auf <li> setzen
am 09.07.2013 - 21:02 Uhr in
Nabend zusammen,
irgendwie ärgere ich mich jedes Mal bei Drupal beim Menu Themen. Schon kleinere Änderungen an der Menüstruktur sind nur durch hohen Aufwand umzusetzen. Hat zufällig jemand eine Lösung parat, die class="active" von <a ...> nach <li> zu legen?
Bin echt gefühte 1000 Lösungsansätze durchgegangen, aber nichts funktioniert. Im Netz konnte ich auch nichts passendes finden.
<?php
function TIC_menu_link(array $variables) {
//add class for li
if ($variables['element']['#original_link']['in_active_trail']):
$variables['element']['#attributes']['class'][] = 'active';
endif;
return theme_menu_link($variables);
}
?>Ohne den if Part bekommt jedes li Tag ein active verpasst. Im if Part ist leider das einzige Fragment was active trail nahe kommt.
Viele Grüße
Julsen
- Anmelden oder Registrieren um Kommentare zu schreiben

im li sind die klassen doch
am 10.07.2013 - 05:32 Uhr
im li sind die klassen doch schon vorhanden. die kannst du nutzen
Leider ist class="active" nur
am 10.07.2013 - 07:10 Uhr
Leider ist class="active" nur beim a Tag und nicht beim li Tag. Ich würde es gerne so haben, dass es am li ist.
Viele Grüße
Julsen
das ist standardmäßig da.
am 10.07.2013 - 07:28 Uhr
das ist standardmäßig da. habe ich doch eben schon geschrieben
ja, standardmäßig am a Tag
am 10.07.2013 - 07:32 Uhr
ja, standardmäßig am a Tag und nicht am li Tag
Julsen schrieb ja,
am 10.07.2013 - 07:51 Uhr
ja, standardmäßig am a Tag und nicht am li Tag
zum letzten mal: die ist standardmäßig im li drin!!!!
<ul class="menu"><li
am 10.07.2013 - 08:08 Uhr
<ul class="menu"><li class="first leaf"><a href="/" class="1 active">Startseite</a></li><li class="leaf"><a href="/content/plan" class="1">Plan</a></li>
<li class="leaf"><a href="/content/impressionen" class="1">Impressionen</a></li>
<li class="leaf"><a href="/content/portfolio" class="1">Portfolio</a></li>
<li class="last leaf"><a href="/content/kontakt" class="1">Kontakt</a></li>
</ul>
Und wo? Lediglich beim a href ist die class="active". Ok, der a Tag ist im li tag aber ich will
<ul class="menu"><li class="first leaf active"><a href="/" class="1">Startseite</a></li><li class="leaf"><a href="/content/plan" class="1">Plan</a></li>
<li class="leaf"><a href="/content/impressionen" class="1">Impressionen</a></li>
<li class="leaf"><a href="/content/portfolio" class="1">Portfolio</a></li>
<li class="last leaf"><a href="/content/kontakt" class="1">Kontakt</a></li>
</ul>
beispiel:
am 10.07.2013 - 08:12 Uhr
beispiel: http://www.edv-ks.com/
Standardeinrichtung...
erzeugt:
<ul class="menu primary-menu clearfix"><li class="menu-466 active-trail first active">
<a class="active-trail active" href="/software">Software</a>
</li>
<li class="menu-477">
<a href="/hardware">Hardware</a>
</li>
<li class="menu-405 last">
<a href="/dienstleistungen">Leistungen</a>
</li>
</ul>
In keiner meiner
am 10.07.2013 - 08:38 Uhr
In keiner meiner Drupalinstallation wird das Menü so wie bei dir ausgegeben.
Ich gebe das Menü über
<?php print render($page['navigation']); ?>aus. Habe gerade mal in das Bartik Template geguckt und dort wird das Menü mit<?php print theme('links__system_main_menu', array('links' => $main_menu,
'attributes' => array(
'id' => 'main-menu-links',
'class' => array('links', 'clearfix'),
),
'heading' => array(
'text' => t('Main menu'),
'level' => 'h2',
'class' => array('element-invisible'),
),
)); ?>
ausgegeben. Habe meins kurz durch das ersetzt und siehe da, active ist nun auch im li.
Wie kann ich es nun auch für
<?phpprint render($page['navigation']);
?>