Сижу борюсь вот с Drupal 7, точнее не с ним самим, а с "изобилием" и "стабильностью" модулей на него Но упорно хочу сделать новый сайт именно на 7ке)
Я вас еще наверняка замучаю своими вопросами, а пока вот решил поделиться своим решением. Возможно, об этом все и так все знали, но вдруг все-таки кому-нибудь поможет)
В общем, дело обстоит так. Есть роль обычного юзера, а есть роль расширенная. Пользователь может выбирать, нужна ли ему эта роль. Есть модуль Auto Assign Role и как бы никаких проблем. Но работать он у меня так и не захотел, поэтому и начал искать обходные пути.
В результате, обошелся новым полем типа "галочка" в профиле пользователя и модулем Rules. А теперь поподробнее:
1. Создал новое Логическое поле в admin/config/people/accounts/fields с виджетом "Выключатель да/нет". И настроил на отображение его при регистрации. Получилось что-то типа "Роль блаблабла []". Если отметил - получил роль. Нет - получил обычного зарегистрированного юзера.
2. Назначаем роль. А теперь в игру вступает модуль Rules, которым я до этого как-то не пользовался, но прикольный оказывается
Так вот, в нем создал новое правило с событиями After saving a new user account, After updating an existing user account (2ое если юзер надумает поставить эту галочку потом в редактировании профиля).
Потом добавил элемент (Conditions) - Data comparison, где выбрал свое поле и поставил галочку Data value.
И, наконец, добавляем Действие Add user role, где и отмечаем нужную нам роль
Теперь, когда пользователь регистрируется, если он отметил галочку, то получает роль, если нет, то нет
Не знаю, насколько так правильно, но вроде работает
Благодарю за внимание
Комментарии
Правильно.
role_delegation - работает.Но ваш вариант перспективнее. Жаль мультистеп на семерке пока выдает ошибку.
Только что решал ту же проблему - но обошелся без галочек
Имею роль: seller
Создал псевдоним register_seller <-> user/register
В rules - смотрю на Data to compare: [site:current-page:url], Data value: register_seller
А если ролей много - прийдется создавать столько-же правил -накладно както.
Help Me!
чтото я не разберусь, как ты сделал зависимость!
Я хочу сделать такую зависимость, где будет две радиокнопки и в зависимости от того какую выберет юзер, под такой ролью его и зарегит
Создал поле, вывел его на странице регистрации, Установил Rules, залез в события Rules. Два часа клацал настройки всякие на Инглиш языке, но нихрена не получается