是否可以为节点访问定义新操作?
据我所知,用于节点的操作hook_access()
是:
创造
删除
更新
看法
我有一个自定义内容类型,我需要对其进行其他操作,例如“建议”。
是否可以为节点访问定义新操作?
据我所知,用于节点的操作hook_access()
是:
创造
删除
更新
看法
我有一个自定义内容类型,我需要对其进行其他操作,例如“建议”。
简短的回答是否定的,因为负责调用 hook_access()的 node_access() 会检查 $op 参数
if (!$node || !in_array($op, array('view', 'update', 'delete', 'create'), TRUE)) { return FALSE; }
您可以在建议()函数中将一些额外信息附加到节点对象 - 希望在 node_access() 之前调用 - 然后在 hook_access() 中检查这些额外信息并根据返回 TRUE/FALSE。
另一个选项是硬编码权限检查到Suggest()操作本身,而不用弄乱hook_access。