Welcher Haken eignet sich zum Setzen von benutzerdefinierten Semmelbröseln?

7

Ich habe ein Thema, das Brotkrumen wie folgt setzt:

function mytheme_process_node(&$variables) {
    (....)
    drupal_set_breadcrumb($my_breadcrumbs_array);
}

Dies wird später von etwas anderem überschrieben. Ich benötige einen bestimmten Taxonomiewert des angezeigten Knotens, um den Breadcrumb festzulegen. Deshalb verwende ich diesen Hook. Wie geht das effektiv? Vielleicht gibt es einen Hook, der später ausgeführt wird und noch Zugriff auf das Knotenobjekt hat?

Camcam
quelle
"ein bestimmter Taxonomiewert" - das heißt ein bestimmtes Taxonomiebegriffsreferenzfeld?
Donquijote

Antworten:

7

Normalerweise stecke ich diese Logik ein hook_preprocess_page(), sie läuft spät genug im Seitenaufbau, um von nichts anderem überschrieben zu werden.

Mit der folgenden menu_get_object()Funktion können Sie weiterhin auf das Knotenobjekt zugreifen :

function MYTHEME_preprocess_page(&$vars) {
  if ($node = menu_get_object()) {
    // We're on a node page...
    drupal_set_breadcrumb($my_breadcrumbs_array);
  }
}
Clive
quelle
3

Es gibt auch hook_menu_breadcrumb_alter ()

Außerdem können Sie eines der zahlreichen Breadcrumb-Anpassungsmodule verwenden und erhalten möglicherweise das , was Sie möchten, ohne benutzerdefinierten Code.

Donquijote
quelle
Es ist verlockend, diesen Haken zu verwenden, aber es kann sein, dass Sie einen korrekten Brotkrumen und einen falschen aktiven Menüpfad haben.
Wtower