Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Aktivem Menüpunkt eine Klasse zuweisen

Eingetragen von furri (14)
am 22.07.2008 - 10:29 Uhr in
  • Themes & Theming
  • Drupal 5.x

Hallo

ich möchte dem aktiven Menüpunkt eine Klasse "active" zuweisen, so wie hier beschrieben. Leider funktioniert das bei mir nicht, ich verwende als Basis meines Themes das Zen-Theme und finde nun in meiner page.tpl.php Datei die theme_links Funktion nicht. Kenne mich mit PHP leider nicht so gut aus..

Kann mir jemand dabei weiterhelfen?

Freundliche Grüsse

‹ CSS Klassen in der Template-Datei definieren lassen Block "Suchformular" mit richtiger Suchfunktion? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

theme_links

Eingetragen von stBorchert (6003)
am 22.07.2008 - 11:03 Uhr

Moin!
Die Funktion theme_links gehört in die template.php:

<?php

function zen_theme_links($links, $attributes = array('class' => 'links')) {
  ...
}
?>

hth,

Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Funktion habe ich in die

Eingetragen von furri (14)
am 22.07.2008 - 12:01 Uhr

Die Funktion habe ich in die template.php eingefügt, doch irgendwie will sie nicht funktionieren. Es erscheint auch keine Fehlermeldung beim Aufruf meiner Seite. Ich vermute mal, dass die Funktion gar nicht angesprochen wird (vermutlich wird ja die normale theme_links angesprochen)....

Der Code in der template.php sieht nun so aus:

<?php

function zen_theme_links($links, $attributes = array('class' => 'links')) {
   
$output = '';

  if (
count($links) > 0) {
   
$output = '<ul'. drupal_attributes($attributes) .'>';

   
$num_links = count($links);
   
$i = 1;

    foreach (
$links as $key => $link) {
     
$class = '';

     
//MY CHANGES:
      //Search for 'active' in $key and append to $class for LI.
     
if (strpos($key, '-active') !== FALSE) {
     
$class = 'active ';
      }

     
// END MY CHANGES

      // Automatically add a class to each link and also to each LI
     
if (isset($link['attributes']) && isset($link['attributes']['class'])) {
       
$link['attributes']['class'] .= ' ' . $key;
       
$class .= $key;
      }
      else {
       
$link['attributes']['class'] = $key;
       
$class .= $key;
      }

     
// Add first and last classes to the list of links to help out themers.
     
$extra_class = '';
      if (
$i == 1) {
       
$extra_class .= 'first ';
      }
      if (
$i == $num_links) {
       
$extra_class .= 'last ';
      }
     
$output .= '<li class="'. $extra_class . $class .'">';

     
// Is the title HTML?
     
$html = isset($link['html']) && $link['html'];

     
// Initialize fragment and query variables.
     
$link['query'] = isset($link['query']) ? $link['query'] : NULL;
     
$link['fragment'] = isset($link['fragment']) ? $link['fragment'] : NULL;

      if (isset(
$link['href'])) {
       
$output .= l($link['title'], $link['href'], $link['attributes'], $link['query'], $link['fragment'], FALSE, $html);
      }
      else if (
$link['title']) {
       
//Some links are actually not links, but we wrap these in <span> for adding title and class attributes
       
if (!$html) {
         
$link['title'] = check_plain($link['title']);
        }
       
$output .= '<span'. drupal_attributes($link['attributes']) .'>'. $link['title'] .'</span>';
      }

     
$i++;
     
$output .= "</li>\n";
    }

   
$output .= '</ul>';
  }

  return
$output;
}

?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Name des themes?

Eingetragen von stBorchert (6003)
am 22.07.2008 - 12:54 Uhr
furri schrieb

Ich vermute mal, dass die Funktion gar nicht angesprochen wird (vermutlich wird ja die normale theme_links angesprochen)....

Heisst das theme den "zen"? Falls nicht, musst Du die Funktion noch entsprechend abändern:

<?php
function NameDesThemes_theme_links($links, $attributes = array('class' => 'links')) {
  ...
}
?>

hth,

Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deinen Tipp, hat

Eingetragen von furri (14)
am 22.07.2008 - 16:24 Uhr

Danke für deinen Tipp, hat aber leider nicht funktioniert. Da es sich nur um 4 Menüpunkte handelt die so schnell nicht ändern werden habe ich nun alle Menüeinträge einzeln per CSS formatiert (also 4 einträge für die Klassen menu-1-1-2-active bis menu-1-4-2-actieve)..nicht die schönste Lösung aber sie funktioniert...

@stBorchert: Trotzdem vielen Dank für deine Mühe.

Freundliche Grüsse

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 4 Tagen 21 Stunden
  • Wenn die Subdomain auf
    vor 6 Tagen 19 Stunden
  • ordnerstruktur
    vor 1 Woche 6 Stunden
  • Die Subdomain muß auf den
    vor 1 Woche 2 Tagen
  • Verwende doch das Tag dafür,
    vor 4 Wochen 4 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 4 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 4 Tagen
  • Ich habe ja keine Angst vor
    vor 5 Wochen 6 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 1 Tag
  • Vielen Dank erst einmal, aber
    vor 6 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250289
Registrierte User: 20514

Neue User:

  • Scottteday
  • MichaelPeeno
  • Pavlotog

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 18 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association