Вывод ресурсов для определенного пользователя
Товарищи, требуется реализовать довольно простую идею, однако, знания не позволяют это сделать на данный момент.
Идея: вывод ресурсов — статьи (коллекции) при входе определенного пользователя
Что хочется реализовать: пользователь на сайта заходит на страницу авторизации, авторизуется (вероятно плагина modstore.pro/packages/users/easyauth) и видит контент, который предполагается для него.
Соотвественно вопрос реальный ли это способ реализации? Может подскажите какой-то другой?
Если нормальный:
1. Как сделать привязку коллекций к пользователю (руками в консоли)
2. Как правильно прописать выборку pdoResources (как указать выборку для авторизованного пользователя, например, по логину)
Нюансы (верно ли?):
1. Коллекция — Имя пользователя или логин
2. Пользователи заводятся в ручную и привязываются в ручную к коллекции (неким образом)
Может я изобретаю велосипед?
Идея: вывод ресурсов — статьи (коллекции) при входе определенного пользователя
Что хочется реализовать: пользователь на сайта заходит на страницу авторизации, авторизуется (вероятно плагина modstore.pro/packages/users/easyauth) и видит контент, который предполагается для него.
Соотвественно вопрос реальный ли это способ реализации? Может подскажите какой-то другой?
Если нормальный:
1. Как сделать привязку коллекций к пользователю (руками в консоли)
2. Как правильно прописать выборку pdoResources (как указать выборку для авторизованного пользователя, например, по логину)
Нюансы (верно ли?):
1. Коллекция — Имя пользователя или логин
2. Пользователи заводятся в ручную и привязываются в ручную к коллекции (неким образом)
Может я изобретаю велосипед?
Комментарии: 3
Возможно, коллекция — не лучший инструмент для данной задачи, на случай, если статьи могут пересекаться для разных пользователей.
На мой взгляд, лучше реализовать задачу таким образом:
— у вас есть единый раздел с тикетами «Статьи»
— на главной страницы с помощью MIGX вы реализуете таблицу вида:
Далее, в шаблоне, где вы хотите отображать статьи для пользователя:
На мой взгляд, лучше реализовать задачу таким образом:
— у вас есть единый раздел с тикетами «Статьи»
— на главной страницы с помощью MIGX вы реализуете таблицу вида:
айди_пользователя | привязанные_для_него_айди_статей
Далее, в шаблоне, где вы хотите отображать статьи для пользователя:
{if $_modx->user.id > 0}
{set $migx_tv = $_modx->resource.migx_tv_name | fromJSON}
//не помню точно, по какому полю формируется ключ в MIGX, возможно, получение статей для конкретного пользователя будет выглядеть чуть иначе
{set $user_articles = $migx_tv[$_modx->user.id]}
{$_modx->runSnippet('!pdoResources', [
'resources' => $user_articles,
...
])}
{else}
//форма авторизации
{/if}
upd: забыл добавить проверку на пустоту $user_articles:
{set $user_articles = $migx_tv[$_modx->user.id] ?: -1}
Спасибо за подробный ответ.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.