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

  • 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
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 4 Tagen
  • Hey danke
    vor 1 Woche 5 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 19 Stunden
  • In der entsprechenden View
    vor 3 Wochen 19 Stunden
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 19 Stunden
  • gelöst
    vor 5 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

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