其实drupal的权限设置,是很巧妙的。而且drupal权限设置,在写特定的模块的时候。可以很方便控制自己写的模块权限, 主要适用hook_prem 访问权限位,来定义变量。<?phpfunction product_perm() {return array('create product', 'edit own product', 'edit any product', 'delete own product','delete any product','view product');} ?>
然后然后在后台就可以看到了,按照/admin/user/permissions
这个路径来查看。 现在如果设置权限,没有效果,还必须用hook_access,来设定。<?php/*** 对node类型访问权限设定*/function product_access($op, $node, $account) {$is_author = $account->uid == $node->uid; switch ($op) { case 'create': return user_access('create product', $account); case 'update': return
user_access('edit own product', $account) && $is_author || user_access('edit any product', $account); case 'delete': return user_access('delete own product', $account) && $is_author || user_access('delete any product', $account); case 'view': Return user_access('view
product',$account); break; } } ?>这里只要对node 操作查看,修改,删除,创建权限来设定。按照我理解,如果对其他内容设置权限,比起区块,可以用user_access来控制判断
