Василий Наумкин

Василий Наумкин

Был в сети 10 июня 2026, 17:44
Заказы не принимаю
В новых версиях pdoTools общее количество результатов не считается, если не указать это специально, для скорости.
Так что сейчас у тебя нет этой переменной, он пустая, и количество комментариев выставляется через javascript.

Укажи &setTotal=`1` в вызове TicketsComments, и всё должно заработать.
Какой же ты занудный, а.

Это по идее должно быть надо любому пользователю шаблонизатора феном на modx,
А вот до сих пор никому было не нужно. Да и сейчас толпы желающих не видно, ты один.

ибо глюки не нужны никому
Отсутствие кэширования чего-либо, это не глюк.

особенно которые на ровном месте занижают производительность.
Голословно. Fenom выигрывает в производительности за счёт других возможностей.

Если нет времени это делать, покажи файлы, части кода где это можно исправить — и кто-то из комюнити исправит
«Покажи», «кто-то исправил» — хорошо устроился. Тебя волнует — ты и исправляй, не жди никого.

дадут тебе обратно исправленный код и выложишь в репозитории
Поставь задачу сообществу
Разрешите выполнять? Бегом?

Нет проблем.
Ну так ты чего тут сидишь, раз нет проблем?

Поэтому без твоей поддержки тут будет сложновато :)
Да вот вообще никакого желания тратить своё время на тебя нет.

Тему закрываю, всё осудили.
Да всё вышло просто:
— Fenom дёргает pdoTools::runSnippet()
— Тот дёргает pdoTools::_loadElement()
— Ну а тот делает modX::getObject() для получения содержимого сниппета из БД

Вот и лишний запрос. Наверное, можно переписать так, чтобы без запроса проверять кэш, но пусть это делает тот, кому это сильно надо.
Я же написал — используй синтаксис MODX, если тебя в нём всё устраивает.

Не нужна работа с файлами, не нужно наследование шаблонов, не нужны циклы и функции, присвоение переменных — не мучай себя, работай с парсером MODX, раз он супербыстрый.

Может потом вдруг окажется, что из-за костылей с парсером, когда нужно вызвать несколько сниппетов, вместо одного цикла, у тебя просадки по скорости выйдут значительно серьёзнее.
Да, насколько я помню, он и не лезет. И Fenom не должен, потому что так же берёт сниппет из того-же кэша, если он был вызван кэшированным.

Но сами теги Fenom в ресурсе остаются, и их Fenom обрабатывает всегда. А вот теги MODX заменяются в кэше на результат, поэтому их парсить повторно не нужно.

Это всё пишу по памяти, могу ошибаться, да и поменять что-то могли.
Уже обсуждали много раз, что кэшированные теги MODX сохраняются в готовом виде в кэше страницы. Если открыть файл кэша ресурса, то там нет этих тегов вообще, только результат на их месте. Соответственно, при загрузке кэша страницы эти теги не работают никак — их нет.

С Fenom всё иначе, там код есть всегда, но в зависимости от вызова, он либо грузит данные из кэша сниппета, либо работает без него. В любом случае, сами тэги всегда нужно обработать, в кэше они сохранятся как теги, а не как результат.

Лично мне такая более предсказуемая система нравится гораздо больше, чем вечная угадайка с тегами MODX. Работают они, или нет? Что туда попадает, и как отрендерится? Каждый второй совет по проблемам в MODX — это почистить кэш, и регулярный ответ «кэш чистили, не помогает».

Ну а кому ближе логика работы тегов MODX — их и используйте. Бездумное переписывание вообще всего на Fenom не ускорит ваш сайта автомагически, нужно понимать что, где и зачем вы делаете.
Ну мы тут старожилы, которые с MODX очень давно, всё там разведали и пошли дальше.

С высоты этих знаний, конечно, я бы фронт на Vue сделал, бэк на Eloquent и тд, даже для 200 заявок в месяц =)

Так что, не обращай внимания — бухтим по-стариковски.
пока не зашел в тупик и попробовал сделать на Tickets и все пошло — поехало
Здорово, конечно, только что будет с этой системой на Tickets и MIGX при сотнях тысяч записей, а то и миллионах, за несколько лет?

Это же создание ресурсов для каждой заявки, которые падают в кэш системы, карту сайта и т.д.
Как минимум, кавычки не верные — у текста в Fenom должны быть обычные, а не обратные как у параметров родного парсера.
{'10' | url}
Да и не нужны кавычки для чисел
{10 | url}
А вообще, полагаю, в чанке должна быть переменная
{$id | url}