Здравствуйте! Я — начинающий разработчик на MODX Revo. Возникла парочка вопросов. Пытаюсь реализовать личный кабинет для участников олимпиады. Регистрацию, личный кабинет и т.д. выполнил при помощи плагина Login. Возникает вопрос. Допустим, регистрируется капитан команды и участник. Для капитана команды в личном кабинете должны быть доступны для редактирования ещё куча полей, например, название команды, специальность и т.д. Для участника должно быть видно название команды, в которой он состоит и возможность отредактировать только ФИО и почту.
Собственно, сам вопрос состоит в том, как вообще сделать дополнительные атрибуты (поля) для пользователей, чтобы можно было вывести и название команды для участников, и остальное. Находил решение, в котором предлагали вручную добавить поля в таблицу mod_user и повесить на них событие. Рассматриваю данный способ, но почему-то есть мнение, что это — изобретение велосипеда. Наверняка есть какое-то готовое решение в виде плагинов или сниппетов. Если кто знает, как и посредством чего это реализовать, прошу помощи в этом вопросе.
Ещё один вопрос заключается в том, как реализовать для капитанов команд — вывод почти всего списка атрибутов с их редактированием в личном кабинете, а для обычных участников — вывод только нескольких полей, с редактированием некоторых из них. Думаю, что это должно быть как-то реализовано с помощью групп пользователей при их регистрации.
Надеюсь, что кто-нибудь откликнется и сможет помочь ответами на вопросы, может быть кто-то поделится какими-нибудь инструкциями, как это лучше всего реализовать.
Андрей 05.08.2020 13:09 #
Готовых решений нет, есть extended поля — Расширенные поля пользователей либо Дополнительные поля профиля юзера (не extended), второй вариант предпочтительней.
Office из коробки умеет работать с extended, Login вроде как тоже.
«Ещё один вопрос заключается в том, как реализовать для капитанов команд — вывод почти всего списка атрибутов с их редактированием в личном кабинете, а для обычных участников — вывод только нескольких полей, с редактированием некоторых из них. Думаю, что это должно быть как-то реализовано с помощью групп пользователей при их регистрации.»
В форме можно добавить в какую группу регистрировать пользователя, конкретно в случае Login это параметр usergroupsField.
А в кабинете проверять принадлежность группы и отдавать нужную форму редактирования профиля.