ЛК редактирование персональных данных.
Приветствую.
Есть сайт с ЛК, и вот думаю о решении такой задачи.
Человек, при редактировании персональных данных выбирает из селекта, к какой группе он относится (к примеру А, Б, В, Г). Если он выбирает группу А, то должен попасть в группу пользователей UsersA, если группу Б, то в группу пользователей UsersБ и т.д.
М.Б. кто сталкивался с подобной задачей?
Есть сайт с ЛК, и вот думаю о решении такой задачи.
Человек, при редактировании персональных данных выбирает из селекта, к какой группе он относится (к примеру А, Б, В, Г). Если он выбирает группу А, то должен попасть в группу пользователей UsersA, если группу Б, то в группу пользователей UsersБ и т.д.
М.Б. кто сталкивался с подобной задачей?
Комментарии: 9
М.Б. кто сталкивался с подобной задачей?Я сталкивался и реализовывал. А в чём вопрос и сложность?
Да вот собственно и не пойму, что нужно запилить, что б пользователь автоматом перекидывался из одной группы, в другую, если выбирает другую группу при редактировании своих данных.
Самый простой способ —
Самый правильный — через вызов процессора.
$user->leaveGroup('UserA');
$user->joinGroup('UserB');
Самый правильный — через вызов процессора.
Хм, а можно чуть детальнее?
Давай ты всё же объяснишь подробнее, в каком месте у тебя возникла загвоздка. А я постараюсь подробнее объяснить, как лучше сделать.
[[!UpdateProfile]]
Далее идет форма с редактированием своих данных.
И в этой форме идет select с выбором из 3 типов пользователей(3 вида групп).
Вот при изменении выбора типа, должно автоматом перекидывать в соответствующую группу.
Далее идет форма с редактированием своих данных.
И в этой форме идет select с выбором из 3 типов пользователей(3 вида групп).
Вот при изменении выбора типа, должно автоматом перекидывать в соответствующую группу.
Ну так телепатов ведь нет. Надо было сразу уточнить, что ты хочешь узнать, как менять группы средствами компонента Login.
Честно говоря, понятия не имею. Не использую его для этих целей. И беглый просмотр кода контроллнра UpdateProfile и соответствующего процессора компонента ничего не подсказал. Ну то есть там апдейдить можно только поля профиля, про группы ничего не нашёл.
Напиши ссвой сниппет, в котором вызови встроенный modx-процессор
Честно говоря, понятия не имею. Не использую его для этих целей. И беглый просмотр кода контроллнра UpdateProfile и соответствующего процессора компонента ничего не подсказал. Ну то есть там апдейдить можно только поля профиля, про группы ничего не нашёл.
Напиши ссвой сниппет, в котором вызови встроенный modx-процессор
$response = $modx->runProcessor('security/user/update',$properties);
В $properties, если не изменяет склероз, нужно передать массив, в ключе groups которого можно указать группу(ы), в которую(ие) добавить пользователя:$UsersBgroupId = 3; //ID требуемой группы
$properties = array(
'id' => $userId,
'groups' => array(
array(
'usergroup' => $UsersBgroupId,
'role' => 5, //id роли в группе, если надо
'rank' => 0 //ранг пользователя
)
)
);
Разобрался, все оказалось эллементарно)))
И как решил задачу?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.