Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 143 комментария

СикретНаме
СикретНаме
Вот с ним и ковыряюсь. Бродят мысли, что придётся конструкцию несколько переделать, т.к. оставшаяся проблема, судя по всему, имеет корень в «любой другой parent, кроме `0` и/или `1,2,3`.

То есть, если мы имеем ресурсы 1,2,3,4,5,6,7,8,9, где каждое чётное число есть контейнер с детьми, которые в свою очередь есть тоже контейнер с детьми, а условия ( [[$[[*id:is=`2`:or:if=`[[*parent]]`:is=`2`:then=`123`]]]] и [[$[[*parent:is=`0`:then=`321`]]]] ), мы получаем проблему всех остальных парентов, кроме 2 и 0. То есть для документов с парент 2_2, 4_2 (и глубжее) итд условия работать не будут.
Василий Наумкин
Василий Наумкин
TicketLatest выводит 1 последний комментарий из каждого тикета. Тебе нужны последние комментарии из одного тикета (точнее, нитки обсуждения) — такого пока нет.

Можно быстро написать, используя pdoTools.

Поставил в план работ.
Василий Наумкин
Василий Наумкин
Со страницы логина юзер уходит на файл php с директории assets, то есть, это не страница сайта. Он запоминает параметры, с каторыми пришел юзер, в том числе и редирект.

В момент запоминания, скрипт не знает, будет ли ошибка — но уже знает куда редиректить.

Юзер уходит на сервис, с сервиса обратно на файл и там уже может быть ошибка. Файл выставляет ошибку в сессию, и она выведется первой же формой для логина, после этого — редирект.

Отсюда возможны варианты:
1. сделать &loginResourceId='0', а редирект на 1 можно сделать плагином при событии OnWebLogin.
2. добавить форму вход на все страницы сайта, как у меня. После входа, ведь, она превращается в форму выхода.
СикретНаме
СикретНаме
Как я предположил, parent не цепляет глубже/выше ne/is, чем нам один уровень. Следом почти сразу стало очевидно, что для условия [[$[[*id:is=`2`:or:if=`[[*parent]]`:is=`2`:then=`123`]]]], не хватает условия [[$[[*parent:is=`0`:then=`321`]]]], а вот это условие [[*id:ne=`1`:and:ne=`2`:then=`menu для остальных`]] или вообще не нужно или требует доп условия (думаю, именно не нужно).

То есть, по факту, вот тут:
modx.pro/help/762/#comment-6785, Вы всё верно сказали и вся «проблема» крылась в моём незнании, как отрабатывается условие parent.

И хотя такая конструкция оставляет брешь в случае, если мы находимся в parent отлчном от любого parent слайдера, в данном случае, в силу некоторой специфики построения дерева ресурсов, она достаточна.

Так что, так или иначе — спасибо за помощь, Сергей.

Василий Наумкин
Василий Наумкин
1. Старайся отвечать на комментарий, а не создавать новую ветку.

2. При твоём варианте, шаблон уже загружается, значит ты ничего не выигрываешь. Поэтому, либо плагин, либо файл.

Ну, либо делай как в заметке и не парься. Там работа обрывается командой die() — и ничего кроме ответа на Ajax не выводится.
Антон ХайЭксель
Антон ХайЭксель
Вообще у меня мысль сводилась к вставке [[!Ajax_test]] в начало шаблона.
соответственно при аякс-обращении сначала выполнятся будет сниппет и либо переключать переменную шаблона (в этом месте у меня зациклился мозг), либо выдавать [[*content]]
$modx->resource->_content
и завершать работу парсера, но тут тоже нерабочий быдлокод вышел в итоге =(

в эту сторону можно как то двигаться?
Василий Наумкин
Василий Наумкин
Если только плагином ловить и проверять HTTP_X_REQUESTED_WITH, а потом пробовать динамически менять шаблон.

Я в последних разработках обращаюсь к специальному файлу, который запускается в MODX_API_MODE, но там есть свои заморочки.