Всего 123 791 комментарий

Василий Наумкин
01 июля 2012, 03:47
0
Лично я переименовываю miniShop в miniShopExt, меняю вызов класса и дописываю нужные методы, а все параметры остаются.

А ваш метод ничем не хуже, главное, чтобы сниппет miniShop никуда не делся, иначе будет fatal error.
Ну и минимум на пару операций с БД выходит больше (достать сниппет, а потом его параметры).
Василий Наумкин
01 июля 2012, 03:42
0
И что тут должно произойти? Где вызов хоть какого то метода из miniShop?

Вы просто запустили класс и он ничего не делает. Если команда getService выполнена с ошибкой — она будет в системном журнале. Если нет — везде пусто.
Иван Брежнев
01 июля 2012, 02:01
0
Разобрался, эти настройки берутся из сниппета, а у меня все аяксовые запросы выполняются через свой сниппет у которого никаких настроек не прописано.

Сделал вот так в расширении класса 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);
}
Иван Брежнев
01 июля 2012, 00:52
0
Почему вот такая конструкция не работает в классе miniShopExt

$this->config['tplPaymentRow'] и аналогичные
Иван Брежнев
01 июля 2012, 00:09
0
Делаю вот так

// Подключаем
define('MODX_API_MODE', true);
require 'index.php';

// Включаем обработку ​ошибок
$modx->getService('error','error.modError'​;);
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTa​rget(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 '';
}

И ​ничего не происходит (
Иван Брежнев
30 июня 2012, 17:37
0
Класс) То что я искал!
Мегареспект
Василий Наумкин
30 июня 2012, 01:05
0
Даже не знаю, что вам ответить.

Видимо, моя инструкция не такая уж и хорошая =(
30 июня 2012, 01:01
0
Но судя по статистике нагрузка CPU 10-12%; ОЗУ 9-14%
Иван Брежнев
28 июня 2012, 06:34
0
Спасибо. Экспериментировал. Раздумываю как удобнее лично для меня будет
Василий Наумкин
28 июня 2012, 05:17
0
Быстрее, думаю, оттого, что не запускается парсер для вывода страницы и обработки плейсхолдеров.

Последствий никаких. Но лично мне удобнее с Ajax работать при вызове страницы.
Снаружи я подключаюсь, когда надо серьезно поработать с БД (ипорт-экспорт и все такое)
Иван Брежнев
28 июня 2012, 04:45
0
Создал в корне файл ajax.php, добавил в него строки для подключения MODX API, добавил функции чисто для теста, те через которые раньше делал запросы AJAX'ом по вашей статье про AJAX.

И получается что так запрос выполняется быстрее.
В среднем 100-120 мс, а через сниппет вызванный в ресурсе 150-200

Интересно почему, и какие могут быть печальные последствия использования такого метода?
Василий Наумкин
27 июня 2012, 05:35
0
300 Mhz CPU?

У моего телефона 800 MHz
26 июня 2012, 23:36
0
Настроил VDS хостиг (Слабенький 300cpu; 256 озу), к сожалению не видел как работает админка до проделанной работы, но после… просто ужас. Не ужто не хватает этого хостинга (на обычном виртуальном все на много быстрее )
revo 2.2.4 Чистая.
Про комментируйте…
Виталий Киреев
24 июня 2012, 17:17
0
Меня как раз это осенило и хотел сообщить об этом)) даже файл тот же смотрел :)) Странно, что они не вынесли UpdateFromGridProcessor отдельно.
Василий Наумкин
24 июня 2012, 17:03
0
Ссылка стала битой из-за переноса в комментарии.

Вот нормальная:
goo.gl/BgZfm
Василий Наумкин
24 июня 2012, 16:57
0
В таких случаях я смотрю исходник и делаю как там.

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

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

Очень красиво.
Виталий Киреев
24 июня 2012, 15:26
1
0
Почти освоил эту штуку. Только не получается сделать автоапдейт из таблицы (это как в системных настройках — меняешь и сразу запоминается). В методе modObjectUpdateProcessor::initialize() оказывается пустым $this->object и все тут…
Виталий Киреев
22 июня 2012, 08:48
0
Пустой имеется в виду подключал прямо в сниппете свою модель через addPackage(блаблабла, '');
Василий Наумкин
21 июня 2012, 17:50
0
А как тогда сниппеты работали, с пустым префиксом?

Или в них модель отдельно подключали?
Виталий Киреев
21 июня 2012, 17:49
0
Разобрался со всем, оказывается в сниппете addPackage был с пустым префиксом, а в процессорах не указан и выставляло по умолчанию modx_.
А $objectType только на ошибки в процессоре влияет.