2010-04-08 14 views
4

是否可以在僅適用於註冊用戶的Drupal 6視圖中創建過濾器?Drupal 6,視圖2:是否可以有一個只適用於註冊用戶的過濾器?

對於一個過濾器我需要我使用用戶投票(與fivestar和votapapi)來知道他們的用戶是否已經投票了這個節點,並且當用戶是匿名的,工作就好像所有的投票都來自所有從相同的匿名用戶。這就是爲什麼我需要添加此過濾器,但在用戶匿名的情況下忽略它。

非常感謝您的幫助!

回答

2

如果您對PHP感到滿意,請下載Views PHP Filter模塊(http://drupal.org/project/viewsphpfilter)。該模塊使您可以輕鬆地爲任何視圖編寫自己的自定義過濾器。

下載並啓用模塊後,創建一個新視圖並添加一個「Node:Node 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列表。

相關問題