【发布时间】:2014-08-15 10:39:16
【问题描述】:
我们在项目中使用了一个名为“certificate”的模块。 *.module 文件中有一个 Function 包含以下内容:
function certificate_menu() {
$items['node/%node/certificate'] = array(
'title' => 'Certificate',
'description' => 'Display earned certificate for this node',
'page callback' => 'certificate_node_certificate',
'page arguments' => array(1),
'access callback' => 'certificate_can_access_certificate',
'access arguments' => array(1),
'file' => 'certificate.pages.inc',
'type' => MENU_LOCAL_TASK,
);
}
有一个“certificate_can_access_certificate”回调来检查用户是否有权下载证书。
我现在尝试的是在此回调返回 false 时重定向到页面“/my/another/access/denied/page/for/certificate”。
现在推荐的解决方法是什么?
1) 操作回调函数,每次当它返回“False”时,我只需在那里写一个exit; 并在之前使用location() 重定向?
2) 有没有办法在我自己的自定义模块中创建一个函数来实现这种重定向?
3) 我必须以特殊方式操作函数certificate_menu() 吗?
我对 Drupal 了解不多,所以我不知道最好的方法是什么以及我必须如何做到这一点......
【问题讨论】: