2012-10-31 68 views
0

請不要問爲什麼我需要或爲什麼我是這樣一個變態。drupal添加node_access掛鉤到現有模塊(OG)

我在drupal 6上有一個Organic Groups模塊。 由於某種原因,我需要爲此模塊添加node_access鉤子。

「og.module」文件或連接到此模塊的任何文件(我已選中此文件)中沒有預設的node_access掛鉤。 我試着用下面的主體添加「og_node_access」函數:「echo'1111111'; return true;」它不會觸發任何地方(根本沒有回聲)。我試圖將其添加到og.module文件。

P.S .: 請不要推薦OG的任何訪問擴展 - 我已經嘗試了很多。所有我需要的是:(僞)

if ($op=='view'){ 
     if ($node->type == 'xxxx' || $node->type =='yyyyyyyy') { 
      SHOW THIS TYPE OF NODES ONLY TO ADMIN(S) OF THE GROUP (OR SITE) AND THE AUTHOR OF THE NODE, NOBODY ELSE (EVEN IN THE SAME GROUP) IS ALLOWED TO SEE IT OR TOUCH IT. 
     } else { 
     USE DEFAULT RULES (return IGNORE); 
     } 
    } 

,我需要它來進行硬編碼,因爲分類的訪問,內容訪問等「接取」模塊不能正常工作(其實他們沒有在所有的工作)與OG模塊。

P.P.S .: 我知道,OG是一種很不錯的選擇,但我只是需要以描述的方式來完成。

+2

['hook_node_access()'](http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_access/7)是一個Drupal 7鉤子,沒有這樣的Drupal 6中的東西(這就是爲什麼Drupal 6中有很多其他「Access」模塊) – Clive

+0

我看到了......所以有什麼方法可以允許/拒絕用戶查看節點,具體取決於節點類型和用戶的組角色「? (我對drupal是一種新鮮的東西,所以我只是不完全瞭解access_grants鉤子是如何工作的以及它是否正確編輯)。 – sander

回答

0

所以... node_grants鉤子(我錯誤地在我的評論中它是「node_grants」而不是「access_grants」)解決了我的問題。 不幸的是,我花了太多時間(整天)用google搜索並試圖瞭解drupal的一些複雜的授權系統。 無論如何謝謝 (全部) 爲您的答案 (s)