12 минут назад
Класс! Часто непонятно как искать причины поломок или откуда берутся сообщения. Это прям мучение. Посмотрим как работает новый компонент. Делаю у себя...
Хватит логгировать как в каменном веке 🪵 4
20 минут назад
Кстати вопрос возник. Раздражало что для базовой локализации надо было делать версию ru — т.е. создавать дублирование информации из полей и доп.полей....
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeVue 2
22 июня 2026, 23:07
Стоит подумать и добавить, так как 100% потребуется как-то модифицировать данные из 1С. Частый кейс это не соответствие категорий на сайте и категорий...
CommerceBridge 1C — двусторонняя интеграция 1С с MODX 3 и miniShop3 по CommerceML 2. 7
20 июня 2026, 17:54
Только что столкнулся с таким на modx3, ранее 1 раз видел на modx 2.8 — не было времени и мотивации разбираться.
Но проблема есть и она старая.
Кл...
Не срабатывают статичные плагины 1
19 июня 2026, 23:14
Обновление компонента
История изменений MaxNotify 3
1.2.0-pl
добавлен канал max в Центр уведомлений miniShop3;добавлена отправка из Центра дл...
MaxNotify3 3
19 июня 2026, 21:05
Копать надо в браузере. На вкладке сеть, если ответ 500, тогда в логи сервера.
Зависает корзина минишоп2 1
16 июня 2026, 15:00
Последний FormIt + последний FetchIt = белый экран
Последний pdoTools + последний MODx v3 = белый экран
FormIt 5.2: нативный AJAX и reCAPTCHA v3 5
Всего 125 986 комментариев
Или я гоню?
Я подключаю в переименованном сниппете расширенный класс.
Тот в свою очередь запускает оригинальный класс.
При обновлении перезаписываются оригинальный сниппет и оригинальный класс, а расширенные — нет.
Оригинальный сниппет больше вообще не используется, только расширенный — после каждого обновления его можно просто удалять.
Только это уже какая-то экономия на спичках =)
Хочется делать сразу более менее оптимально
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'] и аналогичные
// Подключаем
define('MODX_API_MODE', true);
require 'index.php';
// Включаем обработку ошибок
$modx->getService('error','error.modError';);
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE? 'ECHO': 'HTML');
if (!isset($modx->miniShop) || !is_object($modx->miniShop)) {
$modx->getService('minishopext','miniShopExt', $modx->getOption('core_path').'components/minishop/model/minishop/', $scriptProperties);
if (!($modx->miniShop instanceof miniShopExt)) return '';
}
И ничего не происходит (