Drupal6: In theme_preprocess_page (& $ vars), wo vars $ kommen? (Wie zu manipulieren Brotkrümel)

StackOverflow https://stackoverflow.com/questions/1403048

  •  05-07-2019
  •  | 
  •  

Frage

Ich mag die Brotkrümel entfernen, wenn es nur einen Eintrag ( „Home“). Ich bin in theme_preprocess_page(&$vars) Funktion mein Thema ist. $ Vars [ ‚Brotkrumen‘] ist vorhanden, aber es ist nur HTML. Das ist ein bisschen ungeschickt, mit zu arbeiten. Ich würde es eher als ein Array von Elementen in der Brotkrumen-Liste, und etwas tun, wie folgt aus:

if (count($breadcrumb) == 1) {
    unset($breadcrumb);
}

Wo kommt $vars kommen aus? Wie kann ich den Code überschreiben sie ursprünglich erschaffen?

War es hilfreich?

Lösung

A $ vars Array zwischen allen Vorprozess Funktionen weitergegeben wird. Im Falle der _preprocess_page Funktionen, die meisten Werte in $ vars sind in template_preprocess_page erstellt (siehe http://api.drupal.org/api/function/template_preprocess_page/6 ). In dieser Funktion werden Sie sehen:

  $variables['breadcrumb']        = theme('breadcrumb', drupal_get_breadcrumb());

Hier drupal_get_breacrumb ein Array von Brotkrumen-Elementen zurückgibt, die dann von der theme_breadcrumb () Funktion (oder deren Überschreibung) Themen werden.

Der einfachste Weg zu bekommen, was Sie wollen, ist die theme_breadcrumb Funktion außer Kraft zu setzen. Um dies zu tun, nehmen Sie die ursprüngliche theme_breadcrumb Funktion ( http://api.drupal.org / api / Funktion / theme_breadcrumb / 6 ), um sie Ihren template.php kopieren, ersetzen sie ‚Thema‘ in den Funktionsnamen mit dem Namen Ihres Themas und den Code zu ändern, so dass es wie folgt aussieht:

function THEMENAME_breadcrumb($breadcrumb) {
  if (count($breadcrumb) > 1) { // This was:  if (!empty($breadcrumb))
    return '<div class="breadcrumb">'. implode(' » ', $breadcrumb) .'</div>';
  }
}

Für ein besseres Verständnis von Drupal Thema Überschreibungen und Vorprozess Funktionen finden Sie unter über Themable Ausgang zwingenden und < a href = "http://drupal.org/node/223430" rel = "nofollow noreferrer"> Einrichten von Variablen für die Verwendung in einer Vorlage (Vorprozess Funktionen) .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top