0
我創建了一個簡單的模塊:Drupal 7 hook_node_access不允許「拒絕」?
function hook_node_access($node, $op, $account)
{
return NODE_ACCESS_DENY;
}
它確實阻止訪問節點,但我得到訪問該頁面時,此錯誤:
Notice: Trying to get property of non-object in node_node_access() (line 3089 of \www\modules\node\node.module).
該行的內容:
3088. function node_node_access($node, $op, $account) {
3089. $type = is_string($node) ? $node : $node->type;
所以基本上,當我這樣做時,$ node不是一個字符串,但也沒有「type」值。我只能想象當$ node到達這部分代碼時它是一個空白對象。但爲什麼?
UPDATE
我做的「節點」對象的後續代碼var_dump,我相信這是內容:
int(436)
所以,在某種程度上,節點ID被越來越推到這個功能,但而不是節點,並且is_string函數沒有選擇它是一個字符串(因爲它不是,它是一個INT)。
任何想法?
更新2:
是什麼使所有這些真的對我不好,就是即使我登錄到Drupal的作爲不具有訪問這些節點的用戶,他們仍然可以看到他們,如果他們去/節點並滾動頁面。
我錯過了一些東西,因爲hook_node_access應該阻止在/ node處看到節點?