我有一个Drupal网站,有两页A(www.mysite.com/A)和(www.mysite.com/B)。我想创建一个可以执行以下操作的模块
- 当用户访问页面A时,检测它。
- 在db中执行一些检查以确定用户是否有权访问A
- 如果用户无权访问页面A,则将其重定向到第B页
-Load page B
我无法找到哪些挂钩让我在页面加载之前改变路径。请帮忙 。
答案 0 :(得分:1)
如果您是路线A
的作者,则可以使用'access callback'
在hook_menu()
中drupal_goto()
执行此操作,否则,如果您尝试修改另一个模块的行为,您可以在hook_menu_alter()
。
另一个选择(不太漂亮)是实现这样的hook_init()
:
function yourmodule_init() {
if (current_path() == 'A') {
// Do some DB checks...
drupal_goto('B');
}
}