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 - 18: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 - 09: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 - 17: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

  • 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 5 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Stunde
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • gelöst
    vor 5 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 23 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