Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 101 комментарий

Иван Брежнев
Иван Брежнев
Создал в корне файл ajax.php, добавил в него строки для подключения MODX API, добавил функции чисто для теста, те через которые раньше делал запросы AJAX'ом по вашей статье про AJAX.

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

Интересно почему, и какие могут быть печальные последствия использования такого метода?
Настроил VDS хостиг (Слабенький 300cpu; 256 озу), к сожалению не видел как работает админка до проделанной работы, но после… просто ужас. Не ужто не хватает этого хостинга (на обычном виртуальном все на много быстрее )
revo 2.2.4 Чистая.
Про комментируйте…
Василий Наумкин
Василий Наумкин
В таких случаях я смотрю исходник и делаю как там.

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

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

Очень красиво.
Виталий Киреев
Виталий Киреев
Почти освоил эту штуку. Только не получается сделать автоапдейт из таблицы (это как в системных настройках — меняешь и сразу запоминается). В методе modObjectUpdateProcessor::initialize() оказывается пустым $this->object и все тут…
Василий Наумкин
Василий Наумкин
Не подскажу.

Это перевод, а не лично мой опыт работы. Я пока только getlist пробовал погонять по исходникам самого MODX, проблем с префиксом не было, все нормально работало.

Могу посоветовать поглядеть продвинутые компоненты, которые используют эти «классные» процессоры.
Articles например — https://github.com/splittingred/Articles/tree/develop/core/components/articles/processors
Виталий Киреев
Виталий Киреев
А куда это вставить то можно, если идет class MessageGetListProcessor extends modObjectGetListProcessor {...} а потом сразу return MessageGetListProcessor;

Нашел в ошибках, что этот процессор запрашивает таблицу, начинающуюся на modx_ хотя у меня в схеме без него. В сниппетах все прекрасно работало. Подскажите, пожалуйста, где убирается этот префикс?
Виталий Киреев
Виталий Киреев
Не пойму как вообще debug проводить. Вроде все делал по туториалу Doodles, только заменяя значения на свои таблицы и классы. В итоге табличка выводится, но пустая. Обращение к connector.php возвращает {«total»:«0»,«results»:[]}.
Плюс еще у меня $objectType никак не влияет на значения в лексиконе. Задаю к примеру $objectType = 'my_cmp.message' и $_lang['my_cmp.message_id'] = 'ID сообщения'. В табличке вывожу заголовок header: _('id') — получается пустой. А если выводить header: _('my_cmp.message_id') — он выводится.
ок! :)
все дочитал, перевод удачный, сравнивал некоторые отрывки с оригиналом, в общем понравилось, спасибо! :)
хотя, признаюсь, материал понятен пока на 70-80%, нужно будет еще почитать и вернуться, когда будет писать свои компоненты :)
пока увидел только еще одно исправление — «Когда вы сделали замечательно окно на modExt/ExtJS» — наверно, «замечаетльное»