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

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

Василий Наумкин
Василий Наумкин
Ты сказать то что хочешь? Говори, не стесняйся.

Циферки я внизу и сам вижу хорошо, в среднем там 0,35 — 0,7.

Заскоки могут быть по разным причинам, типа я зашел в админку и почистил кэш, или внес изменения в css и MinifyX перегенерирвал все стили сайта.

Василий Наумкин
Василий Наумкин
Полез искать самое тормозное место в работе сниппета, и нашел!
Это функция getChildIds, которая рекурсивно ищет потомков ресурса, из которого выводится каталог.

Немного уточнил лог и выходит вот это (смотрим на строчку «Query parameters are prepared.»)

Глубина выборки 10


Глубина выборки 1


Глубина 0, функция отключена


Очевидно, тормоза оттого, что в категории 10000 потомков. Но всегда можно указать параметр &depth=`1` и перечислить нужных родителей через запятую — так будет быстрее.

Очистка кэша как раз и влияет на построение дерева ресурсов, с которым работает getChildIds(). Поэтому с depth=1 сниппет отрабатывает за 0,12 сразу после очистки, а потом уже — 0,09.

Вот такие пироги. Куда еще убыстрить — не знаю.
Василий Наумкин
Василий Наумкин
А ты попробуй на досуге научить работать Wayfinder и другие сниппеты с отдельной таблицей.
А потом напиши свой обработчик friendly urls.
А потом еще много чего вылезет.

Проще не использовать MODX вообще, и писать сразу свой магазин. Только зачем, когда вокруг есть толпа уже готовых?

miniShop2 — бесплатное расширение для движка MODX, и максимально его задействует.