"News"のコンテンツタイプと、Newsノードのリストをメニューアイテムとして表示するViewがあります。Viewのメニュー項目の下に表示するノードを取得します
ニュースノードを表示しているときにメニューツリーでニュースビューを強調表示する方法はありますか?
なぜこれがうまくいかず、なぜこれがハッキリかもしれないが、「デフォルト」のメニュー項目やノードが表示されるようにする方法があるはずです。私の上記のコメントへの回答を想定し
"News"のコンテンツタイプと、Newsノードのリストをメニューアイテムとして表示するViewがあります。Viewのメニュー項目の下に表示するノードを取得します
ニュースノードを表示しているときにメニューツリーでニュースビューを強調表示する方法はありますか?
なぜこれがうまくいかず、なぜこれがハッキリかもしれないが、「デフォルト」のメニュー項目やノードが表示されるようにする方法があるはずです。私の上記のコメントへの回答を想定し
実際には、上記のtemplate.phpの答えは、デフォルトのメニュー項目をコンテンツタイプで割り当てることができるため、基本的にモジュールが見つかりました。
Menu Trailsと呼ばれています。ここでは、そのプロジェクトページからの抜粋です:
... Drupalののメニューシステムに
- メニューの軌跡を、いくつかの常識的な使いやすさを追加すると、「アクティブ」現在のメニュー証跡を維持プライマリ/セカンダリのリンクを実装強調表示されます。あなたのtemplate.phpに入る準備ができたスニペットが含まれています。
- このモジュールは、既知のメニュー項目の「下に」落ちるようにノードを(種類または分類法によって)広く分類する手段を提供します。これらのノードはメニューツリーに追加されず(メニュー管理システムは維持されます)、表示されたときにユーザーのナビゲーション状態を保持しながら、上記の機能を起動します。
- 6.0の新機能:メニュートレイルは、ノードのブレッドクラムを設定して、トレールとの同期を保つこともできます。
- 6.0の新機能:メニュートレイルはオーガニックグループに対応しています。したがって、ノードが属している最初のグループノードの「下」になるように指定することができます。
- 6.0の新機能:トークンはpathauto(および他のトークン対応モジュール)に公開されているため、メニューパスを自動パスエイリアスの作成に使用できます。
は、「はい、」これはあなたが最終的な解決策は、あなたの設定に依存しますあなたのテーマフォルダ内のtemplate.phpファイルを介して
を達成することができるものですが、一般のほとんどですアクションは、これはあなたで動作するようにbody.news_page
スタイルクラスを与えるだろう、とあなたはあなたが好きなように見えるようにあなたのニュースのメニューブロックのスタイルでそれを組み合わせることができますphptemplate_preprocess_page
// Simplified, and untested in this form
function phptemplate_preprocess_page(&$vars) {
if (isset($vars['node'])) { // if we're looking at a node
$body_classes[] = (($vars['node']->type == 'News') || (arg(0) == 'News')) ? 'news_page' : ''; // Page is news page
}
else if (arg(0) == 'taxonomy') {
// ... Special handling for news taxonomy pages, if you want
} else {
$body_classes[] = "page-type-" . arg(0);
}
$body_classes = array_filter($body_classes); // Out! Out! Damn empty elements!
$vars['body_classes'] = implode(' ', $body_classes);
}
内部で発生します。
Menutrailsが動作しない場合は(私のためにそれはしなかった)あなたのようなもので、それを自分で行うことができます。
$somenode = menu_get_item('node/5');
menu_set_item($somenode);
は、あなたが持っている私を発見しましたhook_nodeapi()でこのようなことをすると、より多くの制御が可能になります。
あなたはコアモジュールよりも重くなるためにあなたのカスタムモジュールの重量を設定する必要があるかもしれません// this code worked for me
$somenode = menu_get_item();
$somenode['href'] = 'node/5';
menu_set_item(NULL, $somenode);
:少なくとも1
私が正しくあなたの質問を理解する(典型的なDrupalの用語でそれを置くしようとしている)ようにするため、特定のタイプのノード(ビュー)を表示しているときに、特定のブロック(ニュースビューブロック)に特殊なスタイルクラスを適用しようとしていますか? – anschauung