Николай Савин
С нами с 01 января 1970; Место в рейтинге пользователей: #24 часа назад
MODX, как и любой основанный на PHP фреймворк пишет 500 ошибки в error_log. Никаких специальных настроек в нем нет. Все зависит от настроек хостинга\с...
Отладка 500 ошибки MODX 1
6 часов назад
Ваш вариант с hash_class = hashing.modMD5 действительно рабочий — и именно поэтому он прямо описан в статье как быстрый аварийный способ.
Но статья...
Почему в новых версиях MODX не работает сброс пароля через MD5 и как восстановить доступ в manager 2
Вчера в 20:05
Набросал вариант реализации плагина, чтобы можно было его вызвать дважды, передать изменения из первого во второй и применить оба изменения. При испол...
MiniShop3 1.0.0-alpha.4 — Большое обновление админки 18
Вчера в 18:00
ух ты крутяк!
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 2
24 декабря 2025, 22:11
Есть поле mail_smtp_user введи туда логин, если не сработает введи email. И не забудь в emailsender корректный email прописать.
Modx 2.8.8 еще подходит отправки почты через smtp.yandex.ru? 3
24 декабря 2025, 00:23
Нет, лайки всегда были привязаны ко времени публикации, чтобы лайками старых постов рейтинг не накручивали.
MiniShop3 - новый релиз. 1.0.0-alpha.2 15
19 декабря 2025, 15:43
Подозреваю, что в системных настройках компонента нужно указать ID нужного способа оплаты и в уведомление о заказе не забыть прописать ссылку на оплат...
msOneClick - обновление 5
19 декабря 2025, 11:37
Добрый день! с 1 января 2026г. меняется НДС. Подскажите, где поменять НДС на 22%
[mspTinkoff] - метод оплаты Tinkoff MiniShop2 35
18 декабря 2025, 10:15
Ага, спасибо. Первый и думаю не последний)
StaticFilesPlus — автоматическое создание статических элементов с поддержкой категорий 10
Справедливости ради, в некоторых местах $modx->eventData игнорируется. Это исправлю к следующему релизу
Как это работает:
- При вызове msCart сниппет регистрирует себя с уникальным токеном
- После добавления товара сервер возвращает отрендеренный HTML с этим токеном
- JavaScript (CartUI.js:316-318) ищет selector чтобы знать куда вставить HTML
- Если selector не указан — обновление пропускается
Решение:Оберните корзину в контейнер с id и укажите параметр selector:
Или короче через Fenom:
Важно:
Временное решение:
Откройте файл core/components/minishop3/src/Model/msProductFile.php и измените строку 201:
Это временный фикс. Исправление будет включено в следующее обновление MiniShop3.
Итого у нас есть две утилиты
1. Добавление полей в базу данных и в карту модели.
2. Добавление полей на страницу админки.
Есть еще третья утилиты — вывод колонок в таблицах-гридах.
2) Нет с плагинами ничего не делал. Проблему я понял. Подумаю что можно сделать
Нужно же и платным компонентам дорогу для развития оставлять.
Осадочек обоснованный — решение рабочее, но есть несколько моментов, которые стоит обдумать:
Что смущает в текущем фиксе
1. Изменение логики метода.
Оригинальный код при отсутствии сессии возвращал []. Теперь он создаёт сессию. Это может сломать логику в других местах SendIt, которые рассчитывают на пустой ответ как сигнал «сессии нет, нужно что-то сделать».
2. setcookie() без проверки заголовков
Если заголовки уже отправлены — будет ещё один warning.
Минимальный и безопасный фикс
Если цель — просто убрать warning без изменения логики:
Это сохраняет оригинальное поведение: нет куки → нет сессии → пустой массив. Создание сессии должно происходить там, где это предусмотрено архитектурой компонента.
Что бы я сделал
Посмотрел бы, где в SendIt сессия создаётся штатно. Скорее всего есть отдельный метод типа createSession() или это происходит при первой отправке формы. Вот там и должна быть логика создания + установки куки.
Твой фикс работает, но ты фактически добавил fallback-создание сессии в метод, который был рассчитан только на чтение. Если форма авторизации/регистрации работает корректно — можно оставить, но я бы откатился к минимальному варианту и понаблюдал.
Из минусов — можно потерять возможность обновлять некоторые старые компоненты (правда они особо и не обновляются)
Ну и затратно может быть.
Режимы работы
1. Автономный режим (по умолчанию)
2. Синхронизация с modUser
3. Создание modUser при заказе