カスタムパンくずリストの設定に有効なフックはどれですか。


7

私はこのようなパンくずを設定するテーマを持っています:

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

これは後で別の何かによって上書きされます。パンくずリストを設定するには、表示されたノードの特定の分類値が必要です。そのため、このフックを使用しています。それを効果的に行う方法は?おそらく、後で実行され、まだノードオブジェクトにアクセスできるフックがありますか?


「特定の分類値」-つまり、特定の分類用語参照フィールド?
ドンキホーテ2013年

回答:


7

私は通常、そのロジックをに固執しhook_preprocess_page()ます。それは、ページビルドで十分に遅れて実行され、他のものによって上書きされないようにします。

次のmenu_get_object()関数を使用すると、ノードオブジェクトにアクセスできます。

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

3

hook_menu_breadcrumb_alter()もあります

また、あなたはたくさんののいずれかを使用することができブレッドクラム・カスタマイズモジュールをしてかもしれないあなたは、カスタムコードなしで欲しいものを得ます。


このフックを使用するのは魅力的ですが、正しいパンくずリストと誤ったメニューアクティブトレイルになる可能性があります。
Wtower 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.