Финансовая поддержка
VPS, бесплатные дополнения и docs
Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию.
Поддержать
Checkbox для модального окна
Личный кабинет на Sendit - не удается сбросить пароль
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)...
Minishop + честный знак (продажа маркированной продукции)
Sendex 2.0 не встает на Modx 2.8.8
MiniShop3 - Не выводятся товары дополнительных категорий
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает"
MobileDetect - проблема при установки компонента
msImportExport не сохраняет родителя по умолчанию
Где можно править тексты и заголовки писем?
Всего 126 124 комментария
Я подключаю в переименованном сниппете расширенный класс.
Тот в свою очередь запускает оригинальный класс.
При обновлении перезаписываются оригинальный сниппет и оригинальный класс, а расширенные — нет.
Оригинальный сниппет больше вообще не используется, только расширенный — после каждого обновления его можно просто удалять.
Только это уже какая-то экономия на спичках =)
Хочется делать сразу более менее оптимально
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 '';
}
И ничего не происходит (
Мегареспект
Видимо, моя инструкция не такая уж и хорошая =(