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

primlinks active

Eingetragen von cKoNe_RaZoR (17)
am 18.06.2009 - 07:14 Uhr in
  • Themes & Theming
  • Drupal 6.x

Hallo liebe Drupaler,

noch eine kleine Frage nebenbei:

Habe den Primary Links meiner Drupalinstallation einfach mal ein neues Aussehen verpasst. Benutze kein vorgefertigtes Theme, sondern ein komplett selbst erstelltes. Nun habe ich - zu dem bereits vorhandenen Link auf die Startseite - einen Link auf eine Unterkategorie der Suche gesetzt und der will mir patout den Link nicht auf active setzen!

Gibt es eine Möglichkeit, das irgendwie manuell in meine page.tpl.php zu schreiben?
Nach dem Motto if active add class active oder so?

LG cK

‹ captcha modul themen [gelöst] Login Form - Benutzername - Beschreibung ändern ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

active trail

Eingetragen von stBorchert (6003)
am 18.06.2009 - 08:01 Uhr

Moin.
Für gewöhnlich funktioniert das über die Funktion menu_get_active_trail.
Da Du den Link jedoch per Hand einbaust, kannst Du auch eine kleine eigene Hilfsfunktion verwenden.
Lustigerweise hatte ich gestern exakt soetwas gebaut:

<?php
function link_is_active($href) {
 
$path = implode('/', arg());
  if (
$path_elements == $href) {
    return
TRUE;
  }
}
function
link_is_in_active_trail($href) {
 
$path = implode('/', arg());
  if (
strpos($path, $href) > -1) {
    return
TRUE;
  }
}
?>

Diese beiden Funktionen packst Du in Deine template.php und kannst sie dann an beliebiger Stelle aufrufen.

<?php
$href
= 'node/123';
$classes = '';
if (
link_is_active($href)) {
 
$classes .= ' active';
}
if (
link_is_in_active_trail($href)) {
 
$classes .= ' active-trail';
}
print
l(t('my link title'), $href, 'attributes' => array('class' => $classes));
?>

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

hey thx

Eingetragen von cKoNe_RaZoR (17)
am 18.06.2009 - 14:24 Uhr

danke erstmal...stefan dir sollte ein Orden verliehen werden

print l(t('my link title'), $href, 'attributes' => array('class' => $classes));

ist dass eine liste oder was? li oder nicht?

wie ruf ich die denn dann auf? Würd sie halt gerne über das Admin-Theme verwalten..

Möchte sie in Primary Links haben geht das?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Links

Eingetragen von stBorchert (6003)
am 18.06.2009 - 14:33 Uhr
cKoNe_RaZoR schrieb

danke erstmal...stefan dir sollte ein Orden verliehen werden

Schonwieder? Äh ich meinte: au ja toll ... :-)

cKoNe_RaZoR schrieb

ist dass eine liste oder was? li oder nicht?

l()

cKoNe_RaZoR schrieb

wie ruf ich die denn dann auf? Würd sie halt gerne über das Admin-Theme verwalten..
Möchte sie in Primary Links haben geht das?

Hm. Dann pack den Link doch einfach in das Menü "primary links" rein. Damit hast Du dann auch gleich automagisch die "active"-Klassen.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bitte, ein wenig Nachhilfe

Eingetragen von funkytraffic (13)
am 23.07.2009 - 18:36 Uhr

Bevor ich diesen thread sah, habe ich jenen eröffnet:
http://www.drupalcenter.de/node/20279

Leider verstehe weder Deine Funktion noch menu_get_active_trail

Wenn ich es richtig verstehe ist, kann ich mit menu_get_active_trail einen Link aktivieren?

Ich habe in meiner node.tpl.php folgendes versucht:

menu_set_active_menu_name('menu-rubrik');
if ( (arg(0) == 'node' && is_numeric(arg(1))) ) {
    $path_prefix = 'taxonomy/term/';
    if (!(count ($node->taxonomy) == 0)) {
        foreach($node->taxonomy as $term) {
           if ($term->vid == 1)  {
              $location[] = array('href' => 'http://localhost/drupal'.$path_prefix.($term->tid), 'attributes' => array('class' => active));
               menu_set_active_trail($location);
           }
        }
    }
}

Funzt leider nicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry noch mal korrigiert

Eingetragen von funkytraffic (13)
am 23.07.2009 - 18:43 Uhr

Also mein script für node.tpl.php sieht jetzt so aus (ohne zu funktionieren):

menu_set_active_menu_name('menu-rubrik');
if ( (arg(0) == 'node' && is_numeric(arg(1))) ) {
    $path_prefix = 'taxonomy/term/';
    foreach($node->taxonomy as $term) {
        if ($term->vid == 1)  {
            $location[] = array('href' => $path_prefix.($term->tid), 'attributes' => array('class' => 'active'));
            menu_set_active_trail($location);
        }
    }
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
Weiter

Neue Kommentare

  • Naja ich achte immer drauf on
    vor 2 Stunden 1 Minute
  • Das ist für mich das typische
    vor 5 Stunden 13 Minuten
  • Ok es scheint zu laufen
    vor 7 Stunden 12 Minuten
  • Danke. Es scheint jetzt
    vor 8 Stunden 6 Minuten
  • Der Fehler kann in der
    vor 22 Stunden 27 Minuten
  • Ja, das mit Mühselig hab ich
    vor 1 Tag 20 Minuten
  • composer nutezn
    vor 1 Tag 8 Stunden
  • Sorry ich sehe gerade ich
    vor 2 Tagen 9 Stunden
  • Hallo, mittlerweile habe ich
    vor 2 Tagen 9 Stunden
  • fehlende Module
    vor 2 Tagen 11 Stunden

Statistik

Beiträge im Forum: 250249
Registrierte User: 20469

Neue User:

  • Germanrom
  • StevenEness
  • ocvk2810

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 16 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