Модуль Drupal для установки флажка при входе в систему
Для Drupal 6.x существует ли модуль, который требует, чтобы пользователь устанавливал флажок перед входом в систему?
Сайт должен требовать, чтобы каждый пользователь принимал Условия и Положения при каждом входе в систему, а не только при регистрации.
3 answers
Есть два модуля, http://drupal.org/project/legal и http://drupal.org/project/terms_of_use , которые требуют, чтобы вы приняли их при регистрации (я думаю, вы их уже нашли).
То, что вам нужно (принимайте при каждом входе в систему), не является особенностью этих модулей, насколько я знаю. Однако я думаю, что не должно быть слишком сложно написать пользовательский модуль, повторно используя часть кода одного из этих модулей, который добавляет этот флажок в каждую форму входа.
Если вы не писали модули раньше, ознакомьтесь с руководством разработчика модулей на drupal.org . Вам придется использовать hook_form_alter, чтобы добавить флажок в форму входа.
@marcvangend спасибо за информацию и ссылки, вот код, который я нашел/отредактировал/ придумал:
function toscheckbox_form_user_login_alter(&$form, &$form_state) {
// Add a checkbox to login form about agreeing to terms of service.
$form['terms_of_service'] = array(
'#type' => 'checkbox',
'#title' => "I agree with the website's terms of service.",
'#required' => TRUE
);
}
function toscheckbox_form_user_login_block_alter(&$form, &$form_state) {
// Add a checkbox to login form about agreeing to terms of service.
$form['terms_of_service'] = array(
'#type' => 'checkbox',
'#title' => "I agree with the website's terms of service.",
'#required' => TRUE
);
}
Еще проще, когда они войдут в систему, перенаправить их на страницу, содержащую немного javascript.
Вот так:
1) Создайте этот набор триггеров/действий: [Триггер] Вход пользователя в систему -> [Действие] Перенаправление в /mustagree
2) Добавить страницу содержимого mustagree:
если (подтвердите ('Условия: \n Для входа вам должно быть больше 18 лет. \n \n Согласны ли вы с этими условиями?')){ окно.местоположение = 'страница пользователя' } еще { окно.местоположение = 'выход из системы' }Предполагая, что у вас есть страница содержимого с URL-адресом страницы пользователя это будет работать идеально.