如何在页面加载之前重定向drupal中的用户?

时间:2015-09-08 11:17:37

标签: drupal drupal-7 hook

我有一个Drupal网站,有两页A(www.mysite.com/A)和(www.mysite.com/B)。我想创建一个可以执行以下操作的模块

- 当用户访问页面A时,检测它。

- 在db中执行一些检查以确定用户是否有权访问A

- 如果用户无权访问页面A,则将其重定向到第B页

-Load page B

我无法找到哪些挂钩让我在页面加载之前改变路径。请帮忙 。

1 个答案:

答案 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');
  }
}