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


Drupal 7 terms of use and edit profile

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

对于第二部分,一旦用户登录并同意条款,就必须向他们提供编辑配置文件表单,以便进行必要的更新。

有人知道无论如何都要建立这个项目吗(最好没有太多的开发,因为这个项目时间很短)???非常感谢您的帮助。

如果用户的"access"answers"login"值为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. 挂钩到"userlogin"表单并添加自己的提交函数
  2. 在自己的submit函数中,检查两个提到的值,如果它们等于0,则将用户重定向到您的T&Cs

问题是,我们的submit在主user_login_submit()之后被调用,其中(好吧,不是,确切地说是)"login"值已经更新,因此我们可以检查"access"字段。

剩下的听起来很简单——用T&Cs和同意表单,之后重定向到用户配置文件编辑,轻松操作。。。