Опыт по переносу MODX2 на MODX3 и Minishop3

Коллеги, всех приветствую!
Вопрос возник.
У меня лично несколько сайтов на 2-й версии.
Несколько раз пробовал сделать сайт на 3-й версии, постоянно возникали проблемы и сложности с компонентами отсутствием замен на со 2-й версии на 3-ю.
У меня лично есть несколько сайтов на 2-м движке и очень большим объемом проделанной работы, что нет никакого желания тратить время на переезд на 3-ю версию.
И вот тут было бы классно если бы была рабочая инструкция по миграции с 2-й версии на 3-ю. Но кто ее будет делать большой вопрос. Был бы полезен опыт коллег по цеху, прошу поделиться кто как переносил и с какими проблемами столкнулся.
Олег Захаров
20 февраля 2026, 14:10
modx.pro
157
0

CrawlerDetect — бесплатная защита MODX‑сайтов от ботов, создано с любовью к сообществу



Представляю CrawlerDetect — бесплатный компонент для MODX, созданный с заботой о сообществе. Он использует движок JayBizzle/Crawler-Detect, который надёжно распознаёт тысячи известных ботов и краулеров.
Иван Бочкарев
20 февраля 2026, 07:31
modx.pro
262
+12

Глюк minishop2

Добрейшего денечка!

Значит у меня кастомизирована панель управления заказами.

Выводятся нужные мне поля из таблицы _ms2_order_addresses

среди всего прочего в формировании таблицы с заказами учувствует вот этот файл assets/components/minishop2/js/mgr/orders/orders.grid.js
Дмитрий
19 февраля 2026, 11:40
modx.pro
54
0

ms3RecentlyViewed - Недавно просмотренные товары для MiniShop3



Компонент для MiniShop3: вывод блока «Недавно просмотренные товары». Список хранится в браузере (localStorage или cookie) или в БД для авторизованных, заполняется автоматически при посещении страниц товаров.
Иван Бочкарев
18 февраля 2026, 21:18
modx.pro
273
+9

Кастомизация minishop'a (номер телефона вместо емейла у пользователя при совершении заказа)

Доброго дня!
Стоит задача изменить исходник файла живущего по адресу:
/core/components/minishop2/model/minishop2/minishop2.class.php

По сути, что может быть проще, поменять код и дело с концом, но при первом же обновлении, все это канет в лету, а это не корпоративно!

Как можно подцепить свой файл?

upd

Как уже повелось, после очередной решенной задачи описываю, как я это сделал. Пишу в большей степени для себя, но и вдруг кому пригодится.

И так, задача в том, когда пользователь на сайте делает заказ, автоматически регистрируется новый пользователь с username = email

Уж не знаю, как у вас, а у нас в 2026 год — прям целая проблема с почтой, ни у кого нет, и порой это становится целой проблемой.

И вот я решил переделать, что бы вместо емейла в юзернэйм писался номер телефона.
По сути, задача максимально простая. Как мне казалось. Я уже нечто подобное делал, когда кастомизировал админку.

И уже по обычаю, сперва на тестовом сайте правлю исходники, убеждаюсь, что все работает, и потом уже делаю «красиво» подключаю кастомный файл со своими изменениями и все работает щикарно, но не в этот раз.

Логика работы живет потипо в ядре и подрубить вместо него другой файл, как мне объяснили уже нельзя.

Поэтому действовать нужно через расширение класса Handlers.

И так, погнали!
Дмитрий
18 февраля 2026, 12:05
modx.pro
226
0

Предыдущий идентификатор статуса при событии 'msOnChangeOrderStatus'

Добрый день.
Во входящих переменных на событие 'msOnChangeOrderStatus' отсутствует old_status — предыдущий идентификатор статуса.
Проверяю в плагине:
$modx->log(modX::LOG_LEVEL_ERROR, print_r(array_keys($scriptProperties), 1));
Получаю:
Array (
    [0] => order
    [1] => status
)
Подскажите пожалуйста, с чем это может быть связано?
MODX Revolution 2.8.3-pl
miniShop2 2.9.1-pl
Андрей
18 февраля 2026, 10:07
modx.pro
111
0

Обновление полей ресурсов на основе csv-файла иморта (modx 2.8.8 + minishop 2)

Задача была обновить поля у ресурсов (ресурсы: категории, товары; поля: основные, дополнительные (тв)).
Обновление изображений (галерея) в задачу не входило.
Возможно, кому-нибудь пригодится. Если будут корректировки/замечания, буду только рад.
Виталий
17 февраля 2026, 03:09
modx.pro
3
200
+5

Localizator 1.0.9 и 1.1.0

Localizator 1.0.9 и 1.1.0 — новые переводчики, исправления грида и TV, отключение вкладки по шаблонам

  • Поддержка Google и DeepL в дополнение к Яндекс-переводчику (1.0.9)
  • Режим простого копирования строк без перевода (1.0.9)
  • Исправлено дублирование пути у TV-картинок при выводе через Fenom (1.1.0)
  • Настройка отключения вкладки «Локализатор» для выбранных шаблонов (1.1.0)
  • Исправления для ресурсов-ссылок и корректный ключ языка при редактировании из грида (1.1.0)
Иван Бочкарев
16 февраля 2026, 18:58
modx.pro
167
+8

userPages - cоздание ресурсов MODX3 и товаров miniShop3 пользователями

Всем привет!

userPages — дополнение, позволяющее авторизованным посетителям сайта создавать и редактировать ресурсы MODX3 и товары miniShop3.

Основные свойства

  • Работает как со стандартными ресурсами, так и с товарами MiniShop3
  • Проверка групп пользователей
  • Поддержка TV-параметров (с учетом источников файлов), MIGX-полей, а также галереи, полей и опций товаров MiniShop3
  • Поля с WYSIWYG-редактором Pell
  • Загрузка файлов и изображений посредством Dropzone
  • Табличный виджет для MIGX-полей
  • Возможность сохранения черновика
  • Возможность удаления ресурса
  • Email-уведомления менеджеров
  • Настраиваемые всплывающие уведомления
  • Системные события для плагинов
Компонент доступен в репозитории.
Подробная документация и примеры

Павел Романов
16 февраля 2026, 11:33
modx.pro
197
+11

amoConnector - наследник компонента amoCRM


Представляю вашему вниманию amoConnector — компонент интеграции сайта на MODX 2 с системой amoCRM. Построен на официальном SDK amoCRM и использует OAuth 2.0 авторизацию.
В компоненте постарался решить все известные проблемы предшественника
  • Сложная авторизация и обновление ключей
  • Поиск ID для воронок и статусов
  • Неудобное сравнение полей форм с AMO полями
Николай Савин
13 февраля 2026, 20:19
modx.pro
1
201
+8