Два личных кабинета для разных групп пользователей
Есть две группы пользователей. Для каждой группы пользователей должен быть свой личный кабинет.
Пробовал найти решение через Output Filters. Наверное из-за маленького стажа не могу найти нужного решения.
Благодарю за помощь.
Пробовал найти решение через Output Filters. Наверное из-за маленького стажа не могу найти нужного решения.
Благодарю за помощь.
Комментарии: 8
для Office можно использовать
&groups=`Clients:1`
Уже есть 2 группы. Соответственно надо отдавать результат через условие.
Примерно так
Примерно так
[[!+modx.user.id:memberof=`Administrator`]]
docs.modx.pro/system/the-basics/filters-input-and-output
То есть для такой конструкции:
Личный кабинет(8)
ЛК Поставщика(9)
ЛК Потребителя(10)
(ресурсы 9 и 10 — дочерние, 8 — родитель)
Ваше решение нужно располагать в ресурсе «Личный кабинет(8)» и прописывать условие выбора для дочерних ресурсов.
Получится должно нечто в роде:
Личный кабинет(8)
ЛК Поставщика(9)
ЛК Потребителя(10)
(ресурсы 9 и 10 — дочерние, 8 — родитель)
Ваше решение нужно располагать в ресурсе «Личный кабинет(8)» и прописывать условие выбора для дочерних ресурсов.
Получится должно нечто в роде:
[[!+modx.user.id:memberof=`administrator`:else.id.memberof=`users`]]
Я Вас правильно понял?
Например блок логина у меня выглядит так
В чанках уже всё остальное. Для гостя форма авторизации, и разные блоки, в зависимости от группы.
[[!+modx.user.id:isloggedin:is=`1`:then=`[[!+modx.user.id:memberof=`Administrator`:then=`[[$UserEditorBlock]]`:else=`[[$UserMemberBlock]]`]]`:else=`[[$UserGuestBlock]]`]]
Условие для 3х чанков, гость, пользователь и администраторы.В чанках уже всё остальное. Для гостя форма авторизации, и разные блоки, в зависимости от группы.
На сколько я помню, лучше вот так:
[[$[[!+modx.user.id:isloggedin:is=`1`:then=`[[!+modx.user.id:memberof=`Administrator`:then=`UserEditorBlock`:else=`UserMemberBlock`]]`:else=`UserGuestBlock`]]]]
А то у вас сейчас модх все 3 блока процессит, а выводит только один)
Может быть. А чем лучше? Быстрей обработает, памяти меньше требует или в чём? Так-то ваш пример выглядит красивей.
Модх идет изнутри, т.е. у вас он сначала выводит все чанки, потом проверяет условие и только потом оставляет нужное.
У тебя получается: выводим 3 чанка, проверяем 2 условия.
В моем примере, модх проверяет условия и результат вставляет в [[$]] и только потом выводит этот 1 нужный чанк.
У меня получается: проверяем 2 условия, выводи 1 чанк.
У тебя получается: выводим 3 чанка, проверяем 2 условия.
В моем примере, модх проверяет условия и результат вставляет в [[$]] и только потом выводит этот 1 нужный чанк.
У меня получается: проверяем 2 условия, выводи 1 чанк.
Тоже за это переживал, когда занимался этим условием. Что будет в случае сложных чанков, т.к. внутри у юзера и администратора pdoMemu.
Спасибо за подсказку)
Спасибо за подсказку)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.