Николай Савин
С нами с 01 января 1970; Место в рейтинге пользователей: #26 часов назад
Энергично ты за дело взялся! С огоньком. Это правильно, иначе не сдвинуть ничего))
mFilter для MODX 3 - новое поколение. 5
Вчера в 13:12
Подскажите плз, старые версии еще могут быть как либо работо-способны?Нет
ms_CDEK2 возвращается! 63
23 января 2026, 22:15
Этот способ (через файл):
-работает если есть живой админ
-работает если он в группе
-работает если контекст manager не поломан
-работает если пол...
Почему в новых версиях MODX не работает сброс пароля через MD5 и как восстановить доступ в manager 6
23 января 2026, 19:18
На сайтах B и C пишешь плагин на событие OnDocFormSave. В этом плагин отправляешь запрос с помощью CURL с данными ресурса на сайт A. На сайте A обраба...
Сбор новостей с разных сайтах на один общий 1
23 января 2026, 11:53
Но у меня и без всяких ВПНВот я так и знал))
Как перестанет работать без впн, так мой метод пригодится)
Инструкция: Настройка SOCKS5 прокси в MODX3 для работы с репозиторием 10
22 января 2026, 04:41
Есть проблема с расширением, убирает из контекстного меню «Open with Live Server», с файлами шаблонов понятно это допустимо, хотя и не очень нужно, но...
Встречайте VSCode IntelliSense for MODX 39
21 января 2026, 12:55
Смотри плагины ну и край создай свой плагин к примеру CleanOutput и привяжи к событию OnWebPagePrerender
$output = &$modx->event->_output;
$...
Пять пустых строк в начале кода любой страницы! 2
19 января 2026, 19:43
Спасибо! Попробую.
Доступ к репозиторию MODX на digitaloceanspaces.com заблокирован для российских IP? 3
Осадочек обоснованный — решение рабочее, но есть несколько моментов, которые стоит обдумать:
Что смущает в текущем фиксе
1. Изменение логики метода.
Оригинальный код при отсутствии сессии возвращал []. Теперь он создаёт сессию. Это может сломать логику в других местах SendIt, которые рассчитывают на пустой ответ как сигнал «сессии нет, нужно что-то сделать».
2. setcookie() без проверки заголовков
Если заголовки уже отправлены — будет ещё один warning.
Минимальный и безопасный фикс
Если цель — просто убрать warning без изменения логики:
Это сохраняет оригинальное поведение: нет куки → нет сессии → пустой массив. Создание сессии должно происходить там, где это предусмотрено архитектурой компонента.
Что бы я сделал
Посмотрел бы, где в SendIt сессия создаётся штатно. Скорее всего есть отдельный метод типа createSession() или это происходит при первой отправке формы. Вот там и должна быть логика создания + установки куки.
Твой фикс работает, но ты фактически добавил fallback-создание сессии в метод, который был рассчитан только на чтение. Если форма авторизации/регистрации работает корректно — можно оставить, но я бы откатился к минимальному варианту и понаблюдал.
Из минусов — можно потерять возможность обновлять некоторые старые компоненты (правда они особо и не обновляются)
Ну и затратно может быть.
Режимы работы
1. Автономный режим (по умолчанию)
2. Синхронизация с modUser
3. Создание modUser при заказе
Настоящая проблема у вас только одна, та, что про article
Это стандартное поле, оно всегда было в минишопе. Никаких манипуляций с ним никогда не производилось.
Оптимизацию под mysql 8 насколько я знаю специально никто не делал. Вернее закрывали ряд проблем, но не все.
Насчет возрастания нагрузки не знаю что сказать. Таких замечаний отдельно не встречал никогда.
Если вы хотите вы можете заказать оптимизацию минишоп2 под mysql8 — я думаю сделаем. Можете попробовать организовать сбор средств.
Ну и замечу что начинается эпоха MiniShop3 — он уже почти готов и к новому году я думаю увидит свет в магазине дополнений Modstore
Конечно же не нужно его использовать, если есть современные альтернативы
YandexMarket2 — это маленький компонент, где для совместимости с MODX нужно было десяток строк подправить. Я уже сто раз отвечал на этот вопрос.
Minishop2 — огромный продукт с устаревшей архитектурой и кодовой базой — нам дали шанс сделать все с нуля как надо, по современнному, вместо того, чтобы тянуть и дальше старье.
То же самое mSearch2 — это очень большой и очень старый продукт. Для своего времени он был прорывным, но уже много лет как устарел, не отвечает современным требования ни в чем. Ни архитектурой, ни кодовой базой, ни зависимостями — его тоже нужно писать с нуля, сохранив бренд и общий смысл.
Хорошие новости — это будет сильно быстрее, чем история с минишопом.
Просто исправь код у себя на проекте и живи счастливо. Обновления не ставь, там ничего критичного не потеряешь, я уверяю.
Если прям хочется сделать все правильно и красиво — то идешь на github, находишь там нужный компонент и делаешь Pull Request с исправлением. Пул Реквесты мы принимаем, и патчи выпускаем.
Ну если тебе за это платят деньги — то наверное смысл есть. Между PHP 7 и PHP 8, серьезных проблем совместимости нет и никогда не было. Восьмерка поддерживает все из семерки, но чуть строже относится к синтаксису. То есть некоторое количество правок синтаксиса — и все заработает. Я думаю в течение дня с помощью нейронок можно успешно хоть на PHP8.4 перейти.
Тут еще смотря какой набор компонентов используется. Чем их больше — тем и кода больше нужно подгонять.