[英]How to create custom access function for editing a node type in Drupal?
[英]Drupal Custom Node Access
我在Drupal中需要一些复杂的节点访问权限,因此我决定扮演自己的模块。 我需要查看哪些挂钩才能允许访问节点。 你有什么例子吗?
您只需要hook_access
如果要对所有节点进行访问控制,则可以做一些调整。 您可以使用hook_menu_alter
将自定义访问控制功能添加到“ node /%node”。 它可能看起来像这样:
function module_menu_alter($items) {
$items['node/%node']['access callback'] = 'module_node_access';
}
function module_node_access($op, $node) {
if ($special_case) {
return FALSE;
}
elseif ($special_case_2) {
return TRUE;
}
// Default, let Drupal handle it.
return return node_access($op, $node);
}
这在Drupal 6中有些痛苦hook_access
只能调整对其所属模块创建的节点类型的访问,而hook_node_access
在Drupal 7中是新的。
不幸的是,我为此找到的最佳解决方案是通过一个核心补丁,该补丁向hook_nodeapi
添加了一个access
操作。 详细信息可以在这里找到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.