Модуль Drupal для установки флажка при входе в систему


Для Drupal 6.x существует ли модуль, который требует, чтобы пользователь устанавливал флажок перед входом в систему?

Сайт должен требовать, чтобы каждый пользователь принимал Условия и Положения при каждом входе в систему, а не только при регистрации.

 2
Author: Pierre.Vriens, 2010-10-06

3 answers

Есть два модуля, http://drupal.org/project/legal и http://drupal.org/project/terms_of_use , которые требуют, чтобы вы приняли их при регистрации (я думаю, вы их уже нашли).

То, что вам нужно (принимайте при каждом входе в систему), не является особенностью этих модулей, насколько я знаю. Однако я думаю, что не должно быть слишком сложно написать пользовательский модуль, повторно используя часть кода одного из этих модулей, который добавляет этот флажок в каждую форму входа.

Если вы не писали модули раньше, ознакомьтесь с руководством разработчика модулей на drupal.org . Вам придется использовать hook_form_alter, чтобы добавить флажок в форму входа.

 3
Author: marcvangend, 2010-10-07 09:41:00

@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
  );
}
 0
Author: Joe Mako, 2010-11-19 16:26:54

Еще проще, когда они войдут в систему, перенаправить их на страницу, содержащую немного javascript.

Вот так:

1) Создайте этот набор триггеров/действий: [Триггер] Вход пользователя в систему -> [Действие] Перенаправление в /mustagree

2) Добавить страницу содержимого mustagree:

если (подтвердите ('Условия: \n Для входа вам должно быть больше 18 лет. \n \n Согласны ли вы с этими условиями?')){ окно.местоположение = 'страница пользователя' } еще { окно.местоположение = 'выход из системы' }

Предполагая, что у вас есть страница содержимого с URL-адресом страницы пользователя это будет работать идеально.

 0
Author: , 2011-03-09 01:54:35