唯一のDrupalの中の特定のコンテンツタイプのビューを表示
-
18-09-2019 - |
質問
私は、Drupalの中に「著者について」ビューブロックを構築しています。これは素晴らしい作品現在のノードのクリエイターのUSER_IDにリンクされています。
しかし、私は今、特定のコンテンツタイプにビューを制限する方法を知っていただきたいと思います。私はそれが唯一のブログに、物語に表示する必要はありません。私は、引数でそれを実行しようとしましたが、私はこれまで任意の運を持っていなかった。
誰も私を助けることはできますか?
解決
私はタイプの各ノードに共通するURL接頭辞を与えるために自動エイリアス設定モジュールを使用することをお勧めします(良いアイデア)とにかく、あなたは単純なブロック可視パスの制限を使用することができます。たとえば、「記事/ [タイトル]」にあなたのコンテンツタイプ路パターンを設定し、あなたのブロックのパスを設定する「の記事/ *」
他のヒント
いいえ、あなたはビューのビルドでの引数のバリデータを使用することができます。
EX。どのようにユーザーのuidの値に表示を制限しますか?」の意味、どのように任意のビューだけでそのコンテンツを所有している人ログインしているユーザーが見ることができます。
ここでビューの引数PHP検証コードです。
global $user; return $argument[0] == $user->uid;
単にブロックの設定ページに移動し、ブロックの可視性規則のためのPHPを使用して、あなたのビューを作成します。 、唯一の特定のコンテンツタイプのブロックを表示するに使用します:
<?php
$match = FALSE;
$types = array('story' => 1, 'page' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
return $match;
?>
このコードはdrupal.org、視認を遮断する概要接近する
から取得さベターます:
<?php
$match = FALSE;
$types = array('story' => 1, 'page' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load($nid);
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
return $match;
?>
所属していません StackOverflow