我正在尝试设置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';
}
}
- 挂钩到"userlogin"表单并添加自己的提交函数
- 在自己的submit函数中,检查两个提到的值,如果它们等于0,则将用户重定向到您的T&Cs
问题是,我们的submit在主user_login_submit()之后被调用,其中(好吧,不是,确切地说是)"login"值已经更新,因此我们可以检查"access"字段。
剩下的听起来很简单——用T&Cs和同意表单,之后重定向到用户配置文件编辑,轻松操作。。。