Решение:
У меня на сайте было 2 контекста.
При регистрации с автологином, юзер почему-то привязывался к контексту web. Но у меня контекст web был пустой и не использовался. Поэтому в сниппете Register, добавила параметр
&authenticateContexts=`web,meb`
.
После этого, авторизованный пользователь получил доступ к оценкам тикетов, комментариев, добавление в избранное.
Когда посетитель не авторизован на сайте, ему отображается табы. Когда посетитель авторизуется/регистрируется, то сейчас страница перезагружается и потом отображается [[$addquestion]] со сниппетом TicketForm. А без перезагрузки страницы, даже после успешной авторизации/регистрации TicketForm не появляется, а остается формы в табах.
Если хотите разобраться то вот и вот история моих изысканий на эту тему. Всё это в итоге переросло в компонент AjaxFormitLogin, поддержку которого я прекратил, потому что решил полностью переписать JS и PHP, которые достались мне по наследству от AjaxForm. Однако весь функционал из AjaxFormitLogin перекочевал в новый компонент SendIt. Он полностью готов и отлажен. Сегодня я закончил написание документации. Думаю в понедельник или во вторник он станет доступен для скачивание через менеджер пакетов в modstore.
1. Указать в параметре threads строку с нужными вам цепочками, например resource-5,resource-6,resource-7, где 5,6,7 — как раз те самые дочерние страницы. Но этот способ нормально будет работать только если таких страниц не так много, 5..10..100.
2. Изначально можно изменить способ формирования параметра thread, например сделать его вида category-2-product-5, тогда можно делать запрос вида thread LIKE 'category-2-%'. Но тоже, если тысячи товаров, то LIKE может быть не быстрым.
Если речь о тысячах товаров — нужно придумывать что-то другое, я бы рассмотрел возможность добавления какой-нибудь колонки в таблицу modx_ec_threads, куда бы записывались данные, по которым фильтровать удобно. В вашем случае колонка category со значением 2.
Решение:
У меня на сайте было 2 контекста.
При регистрации с автологином, юзер почему-то привязывался к контексту web. Но у меня контекст web был пустой и не использовался. Поэтому в сниппете Register, добавила параметр .
После этого, авторизованный пользователь получил доступ к оценкам тикетов, комментариев, добавление в избранное.
для табов
Ну и в JS на событие «afl_complete» если response.success и ['regForm', 'authForm'].includes(form.id) переключать классы.
На странице добавления вопроса в шаблоне я разместила следующий код:
- [[$addquestion]] — в этом чанке у меня сниппет TicketForm
- [[$authregtabs]] — тут блок с табами, где есть формы авторизации/регистрации/восстановление пароля (как в этом видео скриншоте skrinshoter.ru/vLVs638ZeZi?a )
Когда посетитель не авторизован на сайте, ему отображается табы. Когда посетитель авторизуется/регистрируется, то сейчас страница перезагружается и потом отображается [[$addquestion]] со сниппетом TicketForm. А без перезагрузки страницы, даже после успешной авторизации/регистрации TicketForm не появляется, а остается формы в табах.Когда я добавляю &tvFilters=`companytype==mfo` к запросу pdoResources, то ничего не выводит, убираю tvFilters, снова выводит список ресурсов. Подскажите пожалуйста, где моя ошибка, почему tvFilters не работает? Спасибо!