[РЕШЕНО] Разные формы регистрации для разных ролей

14 декабря 2011 в 22:41
Аватар пользователя HSV HSV 0 16

Здравствуйте.
Тема поднималась уже не раз. Нашел штук до 10, перечитал все, но решения своей проблемы не нашел.
На сайте 2 роли. При помощи views на странице /user/register вывожу ссылки регистрации для разных ролей.
В Auto Assign Role -> Assign from Path настраиваю соответствующие адреса для каждой роли.
При помощи Content Profile создаю два типа материала для ролей, отмечаю "Use this content type as a content profile for users". На вкладке Content profile (в типе материала) отмечаю "Use on Registration" и пробую отметить нужную мне роль в групе "Use on Auto Assign Role paths". Но при сохрании получаю ошибку
"warning: Invalid argument supplied for foreach() in Z:\home\dreg\www\includes\form.inc on line 1212."
и, соответственно, никакая роль не выбрана.

Когда перехожу по ссылке регистрации для любой из ролей выводится стандартная форма и ошибка
"warning: in_array() expects parameter 2 to be array, null given in Z:\home\dreg\www\sites\all\modules\autoassignrole\autoassignrole.module on line 461."

Помогите разобраться, три дня дня уже мучаюсь

Комментарии

Аватар пользователя HSV HSV 0

Enemy wrote:
попробуйте дев версию

Спасибо за совет!!! Помогло

imarat wrote:
можно сделать тоже самое на рулез + кондишинал филдз, и смотреться лучше будет, и ошибок нет

Если не сложно опишите ход действий, с использованием кондишинал филдз, может кому полезно будет

15 декабря 2011 в 10:18

все просто как-бы, делаем поле Роль с двумя вариантами, на станице регистрации через конд.филдз показываем только нужные поля в зависимости от того, какую роль выбрал автор. В рулезах делаем правило, которое проверяет значение поля Роль и реагирует на событие акк создан, и дает нужную роль. Можно глянуть в действuu - carmastera.ru/user/register

16 декабря 2011 в 0:40
Аватар пользователя HSV HSV 0

"imarat" wrote:
В рулезах делаем правило, которое проверяет значение поля Роль и реагирует на событие акк создан, и дает нужную роль.

Можно об этом подробней (какой модуль использовали и как создавали правила)? До этого момента все ясно.

16 декабря 2011 в 12:28

модуль rules.
лезем на страницу его настроект, добавляем правило:
событие - после оегистрации нового аккаунта
условие- поле 'ваше поле' = 1
действие - дать пользователю роль

и еще одно такое же правило, только в условии =2

18 декабря 2011 в 2:37
Аватар пользователя Dan Dan 0

"HSV" wrote:
При помощи views на странице /user/register вывожу ссылки регистрации для разных ролей.

Ахринеть! Это как?

18 декабря 2011 в 2:46
Аватар пользователя HSV HSV 0

Dan wrote:
"HSV" wrote:
При помощи views на странице /user/register вывожу ссылки регистрации для разных ролей.

Ахринеть! Это как?

Нашел такой вариант реализации в этой теме - http://www.drupal.ru/node/25591 предложеный Stan.Ezersky

18 декабря 2011 в 18:55

Имхо, лучше не париться, а накатать простейший модуль - эффективнее по всем критериям. После чего с формой можно делать всё, что угодно.

18 декабря 2011 в 19:39
Аватар пользователя HSV HSV 0

Dan wrote:
Да-а-а, оригинально. А просто создать страницу и дать её адрес user/register проблема?

Даа... Все на много проще Smile Спасибо за подсказку, переделаю.

19 декабря 2011 в 11:21

Очень извиняюсь за вой может глупый вопрос, но что будет, если пользователь после регисрации сменит значение у поля статус у себя в настроках профиля?

Вы знаете способ, чтобы пользователь не мог изменить значение у себя в профиле после регистрации, но мог выбрать значение при регистрации?

Можете написать хоть прмиерно, как это сделать?

Еще раз извиняюсь за тупой вопрос, но пока не сообразил как решить вышеописаный вопрос.

19 января 2012 в 4:13

Спасибо.
Сделал, вроде все работает.
Использовал модуль
user_readonly для того чтобы заптерить редактироание в профиле поля роль.

22 января 2012 в 2:43

Предлагаю интересное решение.
Есть модуль http://drupal.org/project/profile2_regpath

Используя модуль Profile2 создаете несколько вариантов профилей. Также несколько ролей для пользователей.

Модуль profile2_regpath позволяет создать свой путь на который выносит различную форму для регистрации с соответствующими полями и при регистрации относит пользователя в указанную роль.

Остается разобраться с правами.

-------------------

Есть также модуль http://drupal.org/project/autoassignrole который при регистрации дает выбрать роль, ну, и потом можно уже подставить профиль для этой роли.

26 января 2012 в 17:29

autoassignrole глючит в связке с content_profile, вернее требует кучи патчей, а потом усиленного тесторовария на дельнейшую глючность.

profile2_regpath он же для 7 версии, а тут вроде про 6 говорили.

для 6 все-таки думаю то чо было предложено идеальный вариант.
За идею для 7 СПАСИБО.

2 февраля 2012 в 9:28