1

Drupalで「著者について」ビューブロックを作成しました。これは、現在のノードの作成者のuser_idにリンクされており、うまく機能します。

ただし、ビューを特定のコンテンツタイプに制限する方法を知りたいと思います。ブログだけで、ストーリーに表示したくありません。私は引数でそれをやろうとしましたが、今のところ運がありません。

誰かが私を助けることができますか?

4

4 に答える 4

3

pathautoを使用して、タイプの各ノードに共通のURLプレフィックスを付けることをお勧めします(とにかく良いアイデアです)。これにより、単純なブロック可視パス制限を使用できます。たとえば、コンテンツタイプのパスパターンを「article / [title]」に設定してから、ブロックパスを「article/*」に設定します。

于 2010-02-05T13:22:39.383 に答える
1

いいえ、ビューの組み込み引数バリデーターを使用できます。

元。ビューをユーザーのuid値にどのように制限しますか?」つまり、特定のビューは、そのコンテンツを所有するログインユーザーだけがどのように表示できるのでしょうか。

これがViews引数のPHPバリデーターコードです。

global $user; return $argument[0] == $user->uid;
于 2012-05-24T20:01:23.153 に答える
0

ビューを作成し、ブロック構成ページに移動して、ブロックの可視性ルールに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の概要-可視性をブロックするためのアプローチから取得されます

于 2010-02-05T11:26:08.563 に答える
0

より良い:

<?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;
?>
于 2015-03-03T14:53:30.980 に答える