Yii Framework Forum: Профиль пользователя - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Профиль пользователя Rate Topic: -----

#1

  • Group: Guests

Posted 28 April 2009 - 06:27 AM

Кто-нибудь уже сталкивался с подобной задачей создания профиля пользователя?

Необходимо при регистрации дать выбрать пользователю его тип (например, ученик, учитель, директор), в зависимости от этого выдавать соответствующую форму для заполнения.
есть общая таблица users с типовыми полями username, pass, email итд
и есть таблицы, которые соответствуют каждому типу пользователя student, teacher, director, в них присущие каждому типу поля.

Соответственно при регистрации нужно обновлять соответствующую таблицу.

С релиционной AR, вроде, разобрался, не понимаю пока MVC логику такой задачи для YII.
Соответственно каждый может в любой момент отредактировать свой профиль.

Был вариант регистрации в 2 шага - первый - единая для всех регистрация с указанием типа пользователя, после отправки пользователь переадресовывается на туже страницу действия контроллера, но теперь там уже в зависимости от выбранного типа пользователя создается объект, данной модели пользователя и во вьюшке генерится соответствующая форма.
0

#2

  • Group: Guests

Posted 28 April 2009 - 06:56 AM

Кстати, для управления профилем нашел такую штуку:
http://www.yiiframew...opic,799.0.html
0

#3 User is offline   Nemoden 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 68
  • Joined: 14-March 09
  • Location:Vancouver, Canada

Posted 30 April 2009 - 08:16 AM

Quote

Необходимо при регистрации дать выбрать пользователю его тип (например, ученик, учитель, директор), в зависимости от этого выдавать соответствующую форму для заполнения.

есть общая таблица users с типовыми полями username, pass, email итд

и есть таблицы, которые соответствуют каждому типу пользователя student, teacher, director, в них присущие каждому типу поля.



Соответственно при регистрации нужно обновлять соответствующую таблицу.



С релиционной AR, вроде, разобрался, не понимаю пока MVC логику такой задачи для YII.

Соответственно каждый может в любой момент отредактировать свой профиль.



Был вариант регистрации в 2 шага - первый - единая для всех регистрация с указанием типа пользователя, после отправки пользователь переадресовывается на туже страницу действия контроллера, но теперь там уже в зависимости от выбранного типа пользователя создается объект, данной модели пользователя и во вьюшке генерится соответствующая форма.



Если у нас пользователь выбрал модератор, то мы его отправляет на array('user/registerModerator'). Поля те что для всех заносите в БД юзера, те поля, которые соответствуют профилю - в отдельную таблицу. Кроме того, у вас тамже должны быть модели для всех типов профилей.

После того как вы вызвали рендер лейаута, у нем должны оказаться 2 вида данных - для юзера (общий) и для каждого профиля. То есть у вас будут поля в форме вроде name='User[login]' и name='ModerProfile[additionalInformation]' то есть должно быть что то вроде


А когда будете сохранять то просто

Ну и валидации добавите еще.


Писал "на коленке", поэтому извините, если что упустил.
0

#4 User is offline   romanoza 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 117
  • Joined: 17-April 09
  • Location:Moscow, Russia

Posted 06 May 2009 - 06:16 AM

Quote

Писал "на коленке", поэтому извините, если что упустил.


Спасибо, интересный вариант
0

#5 User is offline   Vandal 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 11
  • Joined: 06-May 09

Posted 06 May 2009 - 12:22 PM

Я не так давно начал разбираться в Yii, и меня тоже интересует подобная задача. До конкретной реализации ещё не дошло, но могу предложить такой вариант: создаются таблицы допустим Users - где мы храним некую общую для всех пользователей информацию, и допустим UserAttributes в которой есть поля для всех специфических для каждой категории пользователей данных, привязку по id юзера. А для разделения пользователей по категориям - можно использовать RBAC, который хорошо описан в доках, откуда и можно выбирать категории пользователей чтобы в дальнейшем использовать их при регистрации или изменении информации. Таким образом описываем в UsersModel отношения между таблицами и обходимся одним контроллером для регистрации пользователя любого типа, ну и соответственно мы получаем удобное разделение прав доступа основываясь на rbac.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users