Drupal 6,视图2:是否可以使用仅适用于注册用户的过滤器?

时间:2010-04-08 10:11:37

标签: dynamic drupal-6 filter drupal-views

是否可以在Drupal 6 View中创建仅适用于注册用户的过滤器?

对于一个过滤器,我需要我使用用户投票(使用fivestar和votingapi)来了解他们是否已经投票使用此节点,并且当用户是匿名用户时,就像所有投票一样匿名用户来自同一地方。这就是我需要添加此过滤器的原因,但如果用户是匿名的,则忽略它。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果您对php感到满意,请下载Views PHP Filter模块(http://drupal.org/project/viewsphpfilter)。此模块允许您轻松为任何视图编写自己的自定义过滤器。

下载并启用模块后,创建一个新视图并添加“Node:Node ID PHP handler”过滤器。现在,您可以为任何所需的过滤器添加自定义PHP代码。也许是这样的事情:

global $user;
$allowed = array('authenticated user');
foreach ($user->role as $role) {
  if (in_array($role, $allowed)) {
    $nids = //Run custom filter query for allowed users
  }
  else {
    $nids = //Run alternate filter query for anonymous users 
  }
}
return $nids;

代码应返回要显示的节点ID列表。

相关问题