我正在尝试设置drupal 7,这样当用户第一次登录时会出现使用条款(我已经尝试了使用条款模块,但它不适合我的需求,因为它只似乎在用户创建帐户时起作用,并且在我们的实例中,所有帐户都由管理员创建),并且作为标准,用户必须同意这些条款才能使用该帐户。
对于第二部分,一旦用户登录并同意他们必须与编辑个人资料表单一起呈现的条款,以进行必要的更新。
有没有人知道要设置它(最好没有很多开发,因为这个项目的时间很短)???非常感谢任何帮助。
答案 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';
}
}
问题是我们的提交在主user_login_submit()之后被调用,其中(好吧,而不是完全那里)“登录”值已经被更新 - 因此我们可以检查“访问”字段。 / p>
其余的听起来很容易 - 带有T& Cs页面并同意表格,之后重定向到用户档案编辑,轻松自如......