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

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

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 канал и подключить его к центру. Разумеется автоматизировано
SDivine
SDivine
Благодарю за ответ, но это, к сожалению, не срабатывает. Все-равно выходит предупреждение «Не выбран способ оплаты».

input.dispatchEvent(new Event('input', { bubbles: true }));
input.dispatchEvent(new Event('change', { bubbles: true }));
input.dispatchEvent(new Event('blur', { bubbles: true }));

Пробовал еще такой вариант ранее, но он тоже не решил задачу.
Mishiko
Mishiko
Обновил компонент

1.1.0-pl
— добавлена прямая интеграция с официальным MAX Business API;
— добавлен выбор провайдера между MAX Business и rumaxbot.ru;
— добавлена отправка в чат, канал или пользователю по chat_id/user_id;
— добавлена отправка нескольким получателям;
— учтено ограничение официального API в 4000 символов;
— сохранена обратная совместимость с настройками rumaxbot.ru.
Николай Савин
Николай Савин
Это решает простейший JS скрипт, который при загрузке страницы помечает первый в списке способ оплаты. Во втором минишопе это тоже было сразу в коробке.

document.addEventListener('DOMContentLoaded', () => {
    const input = document.getElementById('payment_1')
    if (input) {
        input.checked = true
        input.dispatchEvent(new Event('change', { bubbles: true }))
    }
})
SDivine
SDivine
Я имел ввиду не ошибку в прямом смысле этого слова, а предупреждение «Не выбран способ оплаты», которое появляется сверху справа на красном фоне. Но это предупреждение не совсем удобно, если способ оплаты в принципе единственный.

Если же проставить в чанке tpl.msOrder в этом input значение checked вручную, чтобы пользователю не надо было лишний раз куда-то кликать, то это не поможет, все-равно выйдет уведомление, что надо выбрать способ оплаты.

<input class="form-check-input" type="radio" name="payment_id" id="payment_1" value="1" checked>
SDivine
SDivine
Здравствуйте. Подскажите, а как можно упростить выбор единственного способа оплаты? Например, есть 1 способ оплаты — «Безналичный». При оформлении заказа обязательно необходимо по нему кликнуть, иначе будет ошибка «Не выбран способ оплаты». Просто принудительная установка checkbox в input не работает — также высвечивается ошибка. Как сделать, чтобы единственный пункт был выбран по-умолчанию или вообще не отображался?