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

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

Был в сети 10 июня 2026, 17:44
Заказы не принимаю
Я переименовываю сниппет.
Я подключаю в переименованном сниппете расширенный класс.
Тот в свою очередь запускает оригинальный класс.

При обновлении перезаписываются оригинальный сниппет и оригинальный класс, а расширенные — нет.

Оригинальный сниппет больше вообще не используется, только расширенный — после каждого обновления его можно просто удалять.
Лично я переименовываю miniShop в miniShopExt, меняю вызов класса и дописываю нужные методы, а все параметры остаются.

А ваш метод ничем не хуже, главное, чтобы сниппет miniShop никуда не делся, иначе будет fatal error.
Ну и минимум на пару операций с БД выходит больше (достать сниппет, а потом его параметры).
Быстрее, думаю, оттого, что не запускается парсер для вывода страницы и обработки плейсхолдеров.

Последствий никаких. Но лично мне удобнее с Ajax работать при вызове страницы.
Снаружи я подключаюсь, когда надо серьезно поработать с БД (ипорт-экспорт и все такое)
В таких случаях я смотрю исходник и делаю как там.

Вот исходник автоапдейта системных параметров — https://github.com/modxcms/revolution/blob/develop/core/model/modx/processors/system/settings/updatefromgrid.class.php

Процессору шлется строка data, он его принимает, проверяет, преобразует из JSON в массив и выставляет переменные объекта.

Очень красиво.
Не подскажу.

Это перевод, а не лично мой опыт работы. Я пока только getlist пробовал погонять по исходникам самого MODX, проблем с префиксом не было, все нормально работало.

Могу посоветовать поглядеть продвинутые компоненты, которые используют эти «классные» процессоры.
Articles например — https://github.com/splittingred/Articles/tree/develop/core/components/articles/processors