Финансовая поддержка
VPS, бесплатные дополнения и docs
Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию.
Поддержать
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3
[Решено] Обновление MODX 3.2.2 компонент FetchIt ломает сайт PHP 8.3
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3
[videoGallery] Видео галерея YouTube, Vimeo
Релиз miniShop2 ver. 4.4.1 & 4.4.2
MaxNotify
MyFavorites
mxLocDoc - документация внутри админки
Редизайн сообщества
Msdiscount не устанавливается
Всего 126 107 комментариев
Или я гоню?
Я подключаю в переименованном сниппете расширенный класс.
Тот в свою очередь запускает оригинальный класс.
При обновлении перезаписываются оригинальный сниппет и оригинальный класс, а расширенные — нет.
Оригинальный сниппет больше вообще не используется, только расширенный — после каждого обновления его можно просто удалять.
Только это уже какая-то экономия на спичках =)
Хочется делать сразу более менее оптимально
https://gist.github.com/3026530
Если просто во внешнем файле лежащем в корне сайта, то ничего не выводит
Если код инициализации Службы вставить в сниппет то все заводится.
А ваш метод ничем не хуже, главное, чтобы сниппет miniShop никуда не делся, иначе будет fatal error.
Ну и минимум на пару операций с БД выходит больше (достать сниппет, а потом его параметры).
Вы просто запустили класс и он ничего не делает. Если команда getService выполнена с ошибкой — она будет в системном журнале. Если нет — везде пусто.
Сделал вот так в расширении класса miniShopExt. Работает. Если это не правильно поправьте
function __construct(modX &$modx, array $config = array()) {
$snippet = $modx->getObject('modSnippet',array('name'=>'miniShop'));
$config = array_merge($snippet->getProperties(),$config);
parent::__construct($modx, $config);
}
$this->config['tplPaymentRow'] и аналогичные