Drupal:特定のコンテンツタイプにブロックを割り当てます
-
30-09-2019 - |
質問
型myNodeのノードが要求されるたびに、node-mynode.tpl.phpと呼ばれるカスタマイズされたテンプレートを作成し、node-mynode.tpl.phpが自動的に使用されます。
ただし、この場合、ユーザーは特定のメニューブロックを表示したいと考えています。
質問:特定のコンテンツタイプにブロックを割り当てるにはどうすればよいですか?
ヒント:PathautoとURLエイリアスを見始めました。 1つの解決策がこの方向にあると思われます。
解決
あなたのすべてを与えてください mynode
タイプノードから始まる自動エイリアスを入力します /mynode
そして、ブロックのページ固有の可視性設定を使用して、から始まるページにのみ表示されます /mynode/*
.
他のヒント
Drupal 6では、ブロックの可視性設定を構成できます。管理者バックエンドのブロックの横にある[構成]リンクをクリックし、次の手順に従ってください -
1)「次のPHPコードがtrue(php-mode、expertsのみ)を返す場合は「表示」オプションを選択します。「ページ固有の可視性設定」タブの下でオプションを選択します。
2)現在のノードのノードタイプをチェックし、それに応じてtrueを返す次のPHPコードを入力します -
<?php
if( arg(0) != 'node' || !is_numeric(arg(1)) )
{ return FALSE;
}
//load a fully-populated Drupal node object
$temp_node = node_load(arg(1));
if( $temp_node->type == 'mynode' ) //check the node type
{ return TRUE; //display block
}
?>
これは機能するはずです....
コンテキストモジュールを使用できます
所属していません StackOverflow