Drupal 7使用条款和编辑配置文件

时间:2011-06-24 15:10:06

标签: php drupal drupal-7

我正在尝试设置drupal 7,这样当用户第一次登录时会出现使用条款(我已经尝试了使用条款模块,但它不适合我的需求,因为它只似乎在用户创建帐户时起作用,并且在我们的实例中,所有帐户都由管理员创建),并且作为标准,用户必须同意这些条款才能使用该帐户。

对于第二部分,一旦用户登录并同意他们必须与编辑个人资料表单一起呈现的条款,以进行必要的更新。

有没有人知道要设置它(最好没有很多开发,因为这个项目的时间很短)???非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您知道用户尚未登录,如果他们的“访问”和“登录”值为0.因此,检查它们应该足够,如果它们是0,则将用户重定向到您的T& Cs。至少在理论上。

最简单的解决方案(无论如何我现在想到的)都是这样的:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'user_login') {
    $form['#submit'][] = 'MYMODULE_user_login_submit';
  }
}

function MYMODULE_user_login_submit($form, &$form_state) {
  $user = user_load($form_state['uid']);
  if ($user->access == 0) {
    $form_state['redirect'] = 'your-terms-and-conditions-form-url';
  }
}
  1. 挂钩到“user_login”表单并添加自己的提交功能
  2. 在自己的提交功能中检查两个提到的值,如果它们等于0,则将用户重定向到您的T& Cs
  3. 问题是我们的提交在主user_login_submit()之后被调用,其中(好吧,而不是完全那里)“登录”值已经被更新 - 因此我们可以检查“访问”字段。 / p>

    其余的听起来很容易 - 带有T& Cs页面并同意表格,之后重定向到用户档案编辑,轻松自如......