Добрый день
Есть сайт на котором Юзер проходит тест и только потом регистрируется. Как присвоить ему роль "прошедший тест но еще не зарегистрированый" после прохождения теста (поле "результат теста" становится не пустым)? . Посмотрел много модулей разных, но они все присваивают роли только после регистрации. Хотелось бы найти готовый модуль, т.к в PHP не силен
Комментарии
Зачем?
Для соблюдения логики работы сайта. Ролями удобно оперировать в существующих модулях
Я за годы работы с друпалом ни разу не задумывался о ролях для анонимных пользователей...
Что-то мне подсказывает, что друпал вей вы не в том месте хотите заюзать.
Лучше задачу скажите, какая логика?
А какова логика данного присвоения? Что потом будет с этим пользователем? Его данные не хранятся на сервере..проголосовал,закрыл браузер и все пропало..
Вот 2 функции для работы с анонимами..
user_cookie_delete()
user_cookie_save().
после прохождения теста (поле "результат теста" становится не пустым) ...Это как?
Это делается как раз для того чтобы простимулировать пользователя зарегистрироваться. Нужно отделить прошедших тест от непрошедших и показывать им разное содержимое. Не прошедшие тест не должны видеть определенные страницы. Таким образом на сайте три группы пользователей, анонимы, прошедшие тест, и прошедшие тест и регистрацию. по моему логично все это построить через роли.
("не пустым" это значит в поле записывается результат теста (одно из нескольких фиксированных значений), а у непрошедших тест ничего не присвоено)
Сайт работает можете посмотреть и пройти тест
http://Relaza.com
У каждого своя сессия я так понимаю? Только на ее период
https://www.drupal.org/node/942162
Ну подкладывай прошедшим тест какую-нибудь куку и всё.
Не дружу я с бэкендом. Как потом заставить стандартные модули, которые сейчас разграничивают посетителей по ролям, делать это по кукам?
Вот например [module=session_api] позволяет анонимам работать с модулем [module=flag]. Может на его основе что-нибудь сделаете.
А с чем вы дружите? Поэтому у вас и нет понимания, почему невозможно отличать друг от друга анонимных пользователей.