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

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

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

非常感谢您的帮助!

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

下载并启用模块后,创建一个新视图并添加“节点:节点ID PHP处理程序”过滤器.现在,您可以为任何所需的过滤器添加自定义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列表.

点赞