Финансовая поддержка
VPS, бесплатные дополнения и docs
Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию.
Поддержать
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3
MaxNotify
MyFavorites
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3
mxLocDoc - документация внутри админки
Редизайн сообщества
[Решено] Обновление MODX 3.2.2 компонент FetchIt ломает сайт PHP 8.3
Msdiscount не устанавливается
Где можно править тексты и заголовки писем?
MaxNotify3
Всего 126 093 комментария
Если просто во внешнем файле лежащем в корне сайта, то ничего не выводит
Если код инициализации Службы вставить в сниппет то все заводится.
А ваш метод ничем не хуже, главное, чтобы сниппет 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 '';
}
И ничего не происходит (
Мегареспект
Видимо, моя инструкция не такая уж и хорошая =(
Последствий никаких. Но лично мне удобнее с Ajax работать при вызове страницы.
Снаружи я подключаюсь, когда надо серьезно поработать с БД (ипорт-экспорт и все такое)
И получается что так запрос выполняется быстрее.
В среднем 100-120 мс, а через сниппет вызванный в ресурсе 150-200
Интересно почему, и какие могут быть печальные последствия использования такого метода?
У моего телефона 800 MHz
revo 2.2.4 Чистая.
Про комментируйте…
Вот нормальная:
goo.gl/BgZfm
Вот исходник автоапдейта системных параметров — https://github.com/modxcms/revolution/blob/develop/core/model/modx/processors/system/settings/updatefromgrid.class.php
Процессору шлется строка data, он его принимает, проверяет, преобразует из JSON в массив и выставляет переменные объекта.
Очень красиво.