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

Всего 126 097 комментариев

Артур Шевченко
Артур Шевченко
Стоит подумать и добавить, так как 100% потребуется как-то модифицировать данные из 1С. Частый кейс это не соответствие категорий на сайте и категорий в 1С, через событие можно будет на лету менять родителя.
Mishiko
Mishiko
Почитал. У меня сейчас
XMLReader → SimpleXML-узел → немедленный save() в MODX
Попробую реализовать
XMLReader
   ↓
CommerceMlParser
   ↓
DTO: CategoryData, ProductData, OfferData
   ↓
Normalizer + Validator
   ↓
ImportService
   ↓
CategoryWriter / ProductWriter / OfferWriter
Mishiko
Mishiko
Нет, собственных событий CommerceBridge 1C сейчас нет,
  • отсутствуют вызовы $modx->invokeEvent();
  • transport-пакет не регистрирует modPlugin;
  • импорт выполняется прямыми сохранениями моделей;
  • смена статуса идёт через сервис miniShop3, поэтому там могут срабатывать штатные события miniShop3
Артур Шевченко
Артур Шевченко
Через процессоры как раз наоборот дольше, но есть события, что важно, так как на них может быть навешена какая-то кастомная логика. Кстати, как в пакете дела с событиями, они есть?
Mishiko
Mishiko
Нет. Сейчас категории и товары создаются напрямую через xPDO-модели:
— категории: newObject(msCategory::class)save();
— товары: newObject(msProduct::class)save();
— данные товара: msProductDatasave().

Через процессоры это быстрее для массового импорта, но часть процессорной валидации, событий и сторонних обработчиков может не сработать.

В планах сделать и синхронизацию через REST API там можно будет предусмотреть два режима direct и processor
Wassi Wassinen
Wassi Wassinen
И ещё такие ошибки:

[2026-06-20 23:58:37] (ERROR @ /var/www/.../data/www/.../core/cache/includes/elements/modplugin/12.include.cache.php : 12) PHP warning: Undefined array key "siSession"
[2026-06-20 23:58:37] (ERROR @ /var/www/.../data/www/.../core/cache/includes/elements/modplugin/12.include.cache.php : 12) PHP warning: Undefined array key "siSession"
По обоим случаям нейросеть пишет, что есть фиксы с правкой исходников. Но не хочется править, чтобы потом не поломать что-то и не затиралось при обновлении.
Если у вас есть возможность — дополните код.

Заранее благодарен.
Wassi Wassinen
Wassi Wassinen
@Артур Шевченко добрый вечер, Артур.

При использовании SendIT через сниппет получаю вот такую ошибку:

[2026-06-20 23:44:06] (ERROR @ /var/www/.../data/www/.../core/components/sendit/services/sendit.class.php : 333) PHP warning: Undefined array key "onestepform"
[2026-06-20 23:44:06] (ERROR @ /var/www/.../data/www/.../core/components/sendit/services/sendit.class.php : 333) PHP warning: Undefined array key "onestepform"
[2026-06-20 23:44:06] (ERROR @ /var/www/.../data/www/.../core/components/sendit/services/sendit.class.php : 333) PHP warning: Undefined array key "onestepform"
Вызов сниппета:

{'!RenderForm' | snippet: [
                        'tpl' => 'Footer_Form.tpl',
                        'formName' => 'footerForm',
                        'presetName' => 'footer_form',
                        'hooks' => 'email,FormItSaveForm',
                        'emailTo' => '...',
                        'emailFrom' => '..',
                        'emailTpl' => 'lead_formit_email.tpl',
                        'emailSubject' => 'Заявка с сайта ',
                        'clearFieldsOnSuccess' => 1,
                        'fieldNames' => 'callback_phone==Телефон',
                        'successMessage' => 'Форма отправлена!',
                        'validationErrorMessage' => 'Исправьте ошибки!'
                    ]}

Для сайта пробовал включать php 8.0 и 8.1
Алексей Шумаев
Алексей Шумаев
Только что столкнулся с таким на modx3, ранее 1 раз видел на modx 2.8 — не было времени и мотивации разбираться.
Но проблема есть и она старая.

Клиническая картина такова: в обычном режиме плагин работает нормально, в статическом — реагирует на событие pdoToolsOnFenomInit (хотя оно не отслеживается данным плагином), код плагина игнорируется.
В кэше лежит правильный код плагина.

Пока предположение одно — причиной бага может быть pdoTools исходя из несанкционированной реакции на pdoToolsOnFenomInit. Попробую позже покопать.
Кто встречался — отпишите, будет полезно.
Mishiko
Mishiko
Обновление компонента

История изменений MaxNotify 3

1.2.0-pl
  • добавлен канал max в Центр уведомлений miniShop3;
  • добавлена отправка из Центра для нового заказа и смены статуса;
  • поддержаны шаблоны и настройки получателей из Центра уведомлений;
  • добавлены защита от дублей и запись результата отправки в журнал MODX;
  • ключи лексикона miniShop3 для статусов, доставки и оплаты заменяются переводами;
  • чанки перенесены в категорию MaxNotify3, исправлены их UTF-8 описания;
  • при обновлении содержимое изменённых пользователем чанков сохраняется.
Николай Савин
Николай Савин
Я так понимаю API для центра уведомлений не стал использовать или не знал? У нас в минишопе есть центр уведомлений с подключаемыми каналами. Вот было бы логично создать MAX канал и подключить его к центру. Разумеется автоматизировано