Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Block in best. Kategorien und Nodes anzeigen - PHP Hilfe

Eingetragen von chrissmiss (46)
am 02.12.2009 - 19:58 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Habe folgende Frage...

Wie kann ich den Code erweitern/verbessern, das

1. der Block (z.B. ein Menü) sowohl beim NODE, als auch bei sämtlichen
Begriffen des Vokabulars (z.B. alle taxonomy/term/xy von
$desired_vocab = 35;) angezeigt wird

2. das bei der Anzeige eines NODE das korrekte Menu/Submenu aktiv
angezeigt bzw. geöffnet wird

Ich nutze im Moment den Code von http://drupal.org/node/69076
Die Anzeige bei den Nodes funktioniert! Nicht aber bei Term, kein aktives Menu!

<?php
 
// This snippet returns TRUE if the node we are
  // currently viewing is tagged with a term which belongs
  // to the 'desired_vocab' and we are not in edit mode (arg(2)).

  // put here the vocabulary ID you're interested in
 
$desired_vocab = 35;

  if (
arg(0) == 'node' and is_numeric(arg(1)) and arg(2) == FALSE ) {
   
// Yes, we're viewing a node in view mode.

   
$node = node_load(arg(1)); // cached
    // If the term does not exist we're done
   
if (is_array($node->taxonomy)) {
      foreach (
$node->taxonomy as $term) {
        if (
$term->vid == $desired_vocab) {
          return
TRUE;
        }
      }
    }
  }
  return
FALSE;
?>

Eine etwas einfache Lösung, die bei Node und TERM funktioniert
aber das aktive Menü nicht anzeigt.
- Danke für Vorlage an quiptime für Info http://www.drupalcenter.de/node/14655

<?php
$check_terms
= array(350, 121, 122);
$output = false;
// check_taxonomy
foreach ($check_terms as $t) {
   
$s = "/taxonomy/term/" . $t;
    if (
$_SERVER["REQUEST_URI"] == $s) {
        return
true;
    }
}
// check_terms
if ((arg(0) == 'node' || arg(0) == 'term') && is_numeric(arg(1)) && !arg(2)) {
 
$mynode = node_load(array('nid' => arg(1)));
  if (
count($mynode->taxonomy) > 0) {
    foreach (
$mynode->taxonomy as $tid => $term) {
      if (
in_array($term->tid, $check_terms)) {
       
$output = true;
      }
    }
  }
}
return
$output;
?>

‹ Eingabeformate im Formular verstecken? D7: Erweiterung der Menüansicht im Adminbereich ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Block ist Menü -> bei best. Anzeige aktives Menü anzeigen

Eingetragen von chrissmiss (46)
am 03.12.2009 - 10:41 Uhr

So funktioniert es für alle TERMS und NODES der angegebenen $vid.

!!!!!! Es fehlt leider noch die Übergabe des "aktiven Menüs" an die Navigation,
wenn der Block eine Menü enthält. Kann mir da jemand helfen?????

<?php
// put here the vocabulary ID you're interested in
$desired_vocab = 35;

  if (
arg(0) == 'taxonomy' && arg(1) == 'term') {
 
$str_tids = arg(2);
 
$terms = taxonomy_get_tree($desired_vocab);
  foreach (
$terms as $term ) {
   
$items[] = $term->tid;
  }

 
$terms = taxonomy_terms_parse_string($str_tids);

 
//browse each value
 
foreach ($terms['tids'] as $k => $v) {
    if (
in_array($v, $items)) {
      return
TRUE;
    }
  }
}

  if (
arg(0) == 'node' and is_numeric(arg(1)) and arg(2) == FALSE ) {
   
// Yes, we're viewing a node in view mode.

   
$node = node_load(arg(1)); // cached
    // If the term does not exist we're done
   
if (is_array($node->taxonomy)) {
      foreach (
$node->taxonomy as $nodeterm) {
        if (
$nodeterm->vid == $desired_vocab) {
          return
TRUE;
        }
      }
    }
  }
  return
FALSE;
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

In Drupal 7 ?

Eingetragen von Sponer (1)
am 15.02.2011 - 18:41 Uhr

Frage: kennt jemand für Drupal 7 den richtigen Code dazu?
Diesen habe ich immer in D6 benutzt:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
 
$nid = arg(1);
 
$node = node_load($nid);
  foreach (
$node->taxonomy as $term) {
    if (
$term->name == 'myTermname') {
      return
TRUE;
    }
  }
}
return
FALSE;
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 4 Tagen 11 Stunden
  • Guckst du hier: step by step
    vor 4 Tagen 59 Minuten
  • Guckst du hier: step by step
    vor 4 Tagen 59 Minuten
  • Ich habe ja keine Angst vor
    vor 1 Woche 6 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 2 Wochen 1 Tag
  • Vielen Dank erst einmal, aber
    vor 2 Wochen 3 Tagen
  • Du hast die "Trusted host
    vor 2 Wochen 3 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 4 Wochen 2 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 4 Wochen 6 Tagen
  • Arrrrg. Nix Tabelle :-D /*
    vor 9 Wochen 1 Tag

Statistik

Beiträge im Forum: 250284
Registrierte User: 20498

Neue User:

  • Inga GuAph
  • Robertolix
  • DavidBit

» Alle User anzeigen

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