Николай Савин
С нами с 01 января 1970; Место в рейтинге пользователей: #2Вчера в 12:55
Смотри плагины ну и край создай свой плагин к примеру CleanOutput и привяжи к событию OnWebPagePrerender
$output = &$modx->event->_output;
$...
Пять пустых строк в начале кода любой страницы! 2
Вчера в 09:13
А я правильно понимаю, что это какая-то недоработка со стороны MODX?это можно назвать архитектурной недоработкой (или «техническим долгом»), которая с...
Инструкция: Настройка SOCKS5 прокси в MODX3 для работы с репозиторием 6
19 января 2026, 19:43
Спасибо! Попробую.
Доступ к репозиторию MODX на digitaloceanspaces.com заблокирован для российских IP? 3
19 января 2026, 18:57
Получилось так:
&sortbyTV=`FIELD(availability, 1,0,3,2 )`
Как задать ручную сортировку в mFilter2 1
19 января 2026, 09:29
зайти в настройки компонента, убрать значение у «yasmartcaptcha_service_js», а скрипт подключить вручную
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 34
18 января 2026, 22:14
Что это. Я к примеру давненько пользуюсь (для сайтов без коммерции / без minishop). Правда вместо этого плагина используется обычно easyComm
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 4
18 января 2026, 21:56
Замените в /core/components/fetchit/src/FetchIt.php 81-83 строки:
if (!$_SESSION['fetchit_called']) {
return;
}на
if (empty($...
Fetchit и ошибка Undefined array key "fetchit_called" 2
17 января 2026, 11:42
Новый mFilter уже объединен с SeoFilter и содержит его SEO функционал. Компонент базово готов, уже на стадии тестирования.
mFilter — будет фасетны...
mSearch для MODX3 и MS3 - уже в modstore.pro 9
Осадочек обоснованный — решение рабочее, но есть несколько моментов, которые стоит обдумать:
Что смущает в текущем фиксе
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 перейти.
Тут еще смотря какой набор компонентов используется. Чем их больше — тем и кода больше нужно подгонять.
Для начала все это не движ от Symfony DB и Controllers. В MiniShop3 обычный классический PHP подход. Почитай про PSR-4, крайне рекомендую.
Во-вторых, про метод addPackage в MODX3 забудь. Это делается один раз автоматически при загрузке MODX. Далее MiniShop3, MODX, PHP уже знают про все классы, которые есть в каталоге /core/components/minishop3/src/
Если ты создаешь любой кастомный класс, например
ты обязан использовать namespace. В твоем случае это будет
И полное имя подключаемого класса будет Именно такое имя тебе нужно указывать в системных настройках или подключаемых сервисах.
Вот примерная заготовка для создания класса. расширяющего стандартную корзину
Ну и в системных настойках нужно указать имя расширенного класса (путь не нужен, он по namespace уже известен).
Я сделаю инструмент для подключения классов, без прописывания системных настроек
Будет отдельная инструкция.
Честно говоря, не до конца понимаю зачем ты в принципе лезешь в дебри, для тебя не понятные. Это разработка для программистов. Анонса всеобщего использования минишопа еще не было. Часть архитектуры еще не готова, то что готово, до конца не оттестировано. Если прям так тянет пощупать компонент — изучай то, что готово и анонсировано.
То же самое по идее и в MS3. Только тут уже нужно использовать namespace и use. Я подготовлю документацию в скором времени. Кроме того будет визуальная утилита подключения служб, вместо того чтобы в консоли команды запускать.