是否可以在Drupal 6 View中创建仅适用于注册用户的过滤器?
对于一个过滤器,我需要我使用用户投票(使用fivestar和votingapi)来了解他们是否已经投票使用此节点,并且当用户是匿名用户时,就像所有投票一样匿名用户来自同一地方。这就是我需要添加此过滤器的原因,但如果用户是匿名的,则忽略它。
非常感谢您的帮助!
答案 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列表。