Личный кабинет для клиента ModX Revo как реализовать?
Добрый день.
Есть ModX Revo 2.8.8 с подключенным компонентом Login. Есть регистрация, залогинивание и личный кабинет пользователя. В ЛК стандартные данные email, имя и телефон (которые можно менять).
Задача, как сделать персональную страницу для каждого пользователя? Т.е. чтобы на этой странице пользователь мог добавлять — например список запросов, выбрать тариф, добавить проект (сайт) и т.д.
Как проще и как правильнее реализовать это? Чтобы страничка и эти данные были только под конкретного пользователя?
Есть ModX Revo 2.8.8 с подключенным компонентом Login. Есть регистрация, залогинивание и личный кабинет пользователя. В ЛК стандартные данные email, имя и телефон (которые можно менять).
Задача, как сделать персональную страницу для каждого пользователя? Т.е. чтобы на этой странице пользователь мог добавлять — например список запросов, выбрать тариф, добавить проект (сайт) и т.д.
Как проще и как правильнее реализовать это? Чтобы страничка и эти данные были только под конкретного пользователя?
Комментарии: 7
как сделать персональную страницу для каждого пользователя?Если для всех пользователей должны быть доступны одинаковые функции, то страница должна быть одна и задача сводится не к генерации индивидуальных страниц, в к загрузке персональных данных для авторизованного пользователя.
Для вывода данных пользователя в Modx есть модификатор user. В pdoTools есть сниппет pdoUsers. Можно написать свой сниппет.
Так же очевидно, что кроме стандартных полей требуется хранить ещё какие-то данные пользователя. Для создания полей под эти данные имеет смысл использовать компонент ExtraFields версии не старше 2.0.3.
Когда организуешь место для хранения, нужно будет организовать отправку данных на сервер и обработку ответов. Для этого удобнее всего использовать компонент SendIt.
В целом этих трёх компонентов достаточно для создания личного кабинета любой сложности.
Функции одинаковые у всех. У каждого клиента должна быть возможность добавить сайт, список запросов и выбрать тариф. По сути все, это информация должны сохранятся, редактироваться и удаляться через интерфейс.
Лучше это через компоненты все сделать?
Просто не очень понятно как данные и где будут храниться под пользователя. Часть данных храниться в modx_user_attributes. Но это наверное не очень правильно туда лишние данные сохранять.
Лучше это через компоненты все сделать?
Просто не очень понятно как данные и где будут храниться под пользователя. Часть данных храниться в modx_user_attributes. Но это наверное не очень правильно туда лишние данные сохранять.
Часть данных храниться в modx_user_attributes. Но это наверное не очень правильно туда лишние данные сохранять.А что в этом неправильного? Атрибуты пользователя могут быть каким угодно.
Лучше это через компоненты все сделать?Да, так как компоненты имеют документацию и тот, кто после тебя будет работать с сайтом сможет к ней обратиться и быстрее понять как и что работает.
На счет компонентов понятно.
А как можно реализовать будет возможность добавления неограниченного кол-во сайтов для клиента. Т.е. клиент захочет добавить из ЛК не 1, а 5 скажем сайтов или больше и запросы к каждому. Я так понимаю поля в профиле, например через тот же ExtraFields добавляются мной вручную. Не очень понятно как такой момент обыграть
А как можно реализовать будет возможность добавления неограниченного кол-во сайтов для клиента. Т.е. клиент захочет добавить из ЛК не 1, а 5 скажем сайтов или больше и запросы к каждому. Я так понимаю поля в профиле, например через тот же ExtraFields добавляются мной вручную. Не очень понятно как такой момент обыграть
Ты максимально абстрактно описываешь функционал. Что значит «добавить сайт»? Что за «запросы»? Что с этими данными будут делать в последствии: показ, фильтрация, отправка?
От ответов на эти вопросы зависит то, как лучше организовать хранение.
От ответов на эти вопросы зависит то, как лучше организовать хранение.
Мы с вами не так близко знакомы, поэтому лучше на Вы все же обращаться)
Клиент добавляет адрес сайта, может добавить сколько угодно их. Это банально поля.
Сайт 1
Сайт 2 и т.д.
К каждому сайту может добавить запросы 1 поле в textarea например.
Ничего фильтровать не надо. У него будет страничка где будет список сайтов добавлен и запросов.
По простому если: сайт 1, сайт 2, сайт 3. И поля запросы 1, запросы 2, запросы 3. Он может их редактировать — менять значения, удалять.
Ничего фильтровать не надо, просто добавить данные, отредактировать или удалить. Чтобы они были на личной странице клиента.
Клиент добавляет адрес сайта, может добавить сколько угодно их. Это банально поля.
Сайт 1
Сайт 2 и т.д.
К каждому сайту может добавить запросы 1 поле в textarea например.
Ничего фильтровать не надо. У него будет страничка где будет список сайтов добавлен и запросов.
По простому если: сайт 1, сайт 2, сайт 3. И поля запросы 1, запросы 2, запросы 3. Он может их редактировать — менять значения, удалять.
Ничего фильтровать не надо, просто добавить данные, отредактировать или удалить. Чтобы они были на личной странице клиента.
Ну если всё по-простому, то можно сохранять эти данные в extended и ExtraFields не нужен.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.