14 минут назад
а, то есть, это влияет только на невозможность обновления компонента и отсутствие поддержки? а я думал если развернуть копию сайта с платным пакетом —...
Вопрос по платным пакетам на локальном/тестовом сайте 2
7 часов назад
Возможно это Time-Based Blind SQL Injection через параметры формы оформления заказа miniShop2.
Недавно тоже были проблемы с одним моим интернет-магаз...
136 входящих заказов с пустыми полями в форме и без товаров. Как такое возможно? 4
Вчера в 10:59
Если нет дата-атрибута, в скрипте не доходит даже до preventDefault, так что вроде должно всё нормально работать, но конечно, изменения большие, надо ...
FormIt 5.2: нативный AJAX и reCAPTCHA v3 3
27 мая 2026, 10:50
Спасибо за оперативный ответ!
Уже проверил и пофиксил, плюс скачал пакет с GitHub дополнительно
Кто-то одаренный на основном домене переключил вер...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 37
22 мая 2026, 21:53
Разумно. Все поля подряд не хочу добавлять в чанк. Практика показывает, что полей очень много, содержимое может быть объемным и появление подсказок мо...
mSearch - обновление до версии 1.3.0. 2
22 мая 2026, 18:30
Это changelog разросся. Не помещается в базе данных mariaDB (mysql почему то съедает и не морщится) Выпустил Версию. 1.11.1 с решением этой проблемы.
MiniShop3 1.11.0 8
22 мая 2026, 09:51
Твой бот стримит всё что происходит в терминале? И умеет выполнять слэш команды для агентов типа /status /btw? А ещё нет ли проблемы разрастания входя...
[aiAssist] Я же просто попросил его создать магазин, а он СДЕЛАЛ ЭТО! 16
19 мая 2026, 04:04
Сделал новую версию с табами и возможностью запуска сразу для всех вариантов.
Сначала содержимое для технического ресурса откуда будет запускаться вы...
VersionX переполнил базу данных 8
Всего 125 932 комментария
Версия модуля 1.4.0
Необходимо обновить наименования товаров.
Выбираем Тип импорта — Обновить данные товаров
Соответствие Столбца Название — pagetitle
Запускаем импорт.
В логе запись апдейтится, но там нет поля pagetitle:
[2026-02-28 14:43:45] (INFO @ /var/sites/core/components/msimportexport/model/msimportexport/msie.class.php: 2905) Update SQL:
UPDATE `modx_ms2_products` AS msProductData SET `price`='26420',`old_price`='0',`article`='',`sklad`=0,`weight`='0',`color`='[\"\\u0414\\u0443\\u0431 \\u043a\\u0430\\u043f\\u0443\\u0447\\u0447\\u0438\\u043d\\u043e\"]',`size`='[\«2000x600\»,\«2000x700\»,\«2000x800\»,\«2000x900\»]',`made_in`='',`vendor`=4,`steklo`=0,`nestandart`=1,`garanty`=5,`available`=2,`new`=0,`favorite`=0,`popular`=0,`ms2colors_common_id`=1,`ms2colors_collection_id`=68,`mk_price_box`=5870,`mk_price_nalich`=5580,`mk_subtype`=1,`mk_kapitel`=0,`mk_material`=8,`mk_style`=2,`mk_type_open`='[\«1\»,\«2\»,\«3\»,\«4\»]' WHERE `msProductData`.`id` = 1567
Подскажите, пож-та, как поправить.
Спасибо.
Файл импорта:
ID; Название; Опубликован; Цена; Старая цена; Артикул;sklad; Вес; Цвет; Размер; Страна; Производитель;steklo;nestandart;garanty;available; Новый; Особый; Популярный;ms2colors_common_id;ms2colors_collection_id;mk_price_box;mk_price_nalich;mk_subtype;mk_kapitel;mk_material;mk_Стайл;mk_type_open;ms2colors_common_name;ms2colors_collection_name
1567; Футура 311;1;26420.00;0.00;;0;0.000; Дуб капуччино;2000x600|2000x700|2000x800|2000x900;;4;0;1;5;2;0;0;0;1;68;5870;5580;1;0;8;2;1|2|3|4; Светло коричневый; Дуб капучино
Я взял код из файла /core/components/minishop2/model/minishop2/minishop2.class.php
я скопировал этот метод function getReceiverId(), скинул ИИ и описал свои хотелки.
ИИ сгенерировал новый код, я его вставил обратно в файл /core/components/minishop2/model/minishop2/minishop2.class.php и все прекрасно заработало, но когда я расширяю хендлер, у меня перестает работать.
Поправил код по вашему мануалу — все работает, спасибо большое!
Сегодня выложим — была проблема с защитой и ключами + был занят работой над minishop3 и PR к MODX github.com/modxcms/revolution/pulls/Ibochkarev
@Андрей дополнение в магазине
Я делаю систему с нейросетью используя modExtra и PVExtra, так как IDE заточены под файлы и в базу не лезут. А в MODX пользовательский код обычно в базе. То есть ставлю чистый MODX. Делаю на нем ЧПУ и делаю компоненты которые заполняют сайт. Возможно имеет смысл подключить к нейросети MCP MySQL и чтоб нейросеть напрямую редактировала страницы и шаблоны. Чанки, сниппеты и тв в последнее время не использую. Вместо сниппетов vue компоненты к которым чанки не особо прикрутишь. А вместо тв проще нужные таблицы сразу писать.
Мне проше сразу писать компоненты. Некоторые потом можно отдельно выкладывать. И проще в прод вносить изменения. Просто поставил компонент и нужные правки применились. И не надо делать деплой всего сервера. Правки по компонентам и нужно поставить лишь тот компонент в котором изменения.
С нейросеть у меня 2 метода писать код:
1. Точечное промт-програмирование. Например, пишешь промпт: здесь отсортируй массив по возрастанию ранга наряда. И нейросеть вставляет нужный код.
2. Вайб-кодинг. Есть задача которую непонятно как сделать и пишешь, например, нужно сделать дополнительные фильтры чекбоксы которые выводят список значений в таблице и при выборе которых в таблице фильтруется по этим выбранным значениям. И нейросеть сама разбирается что сделать и пишет код. Такой промпт я как-то задавал и потом 3 часа разбирался почему основные фильтры не работают. Оказалось что нейросеть решила, что если есть допфильтры, то основные не нужны :-).
3 месяц писал с Kilo Code для VSCode. Но постепенно работа через API Claude стала забирать все больше денег. Сейчас использую Claude Code для VSCode с подпиской MAX. Она втрое дешевле должна выходить. Вчера сочинял с ним план внедрения в miniERP продажи перепродоваемых товаров (вместе с товарами которые мы изготавливаем). Перед использованием вайб-кодинга лучше с ИИ сочинить план разработки.
Ну вкратце так. Более подробно пока желания писать нет. Хотя есть моменты которые хочется обсудить или написать статьи, но прям сейчас только то что написал.
с разным расположением файла в зависимости от версии, я уже споткнулся на этом моменте когда подключал свою службу доставки, кстати, в мануале, как раз таки не правильно указано расположения файла (по всей видимости для старой версии)
Я разобрался почему у меня не подключался мой класс, в системных настройках в значении переменной ms2_order_handler_class, у меня было указано «my_OrderHandler » с пробелом на конце, очень было обидно осознать это, когда я два дня пытался разобраться, чой-то мой класс не подключается.
Теперь что касается, кастомного класса. Или, наверное даже больше кастомного метода.
Я начал с того что поменял исходники, и собственно, все у меня работало так как надо.
Телефон приводился к нужному формату, вместо емейла записывался номер телефона, и вообще жизнь прекрасна и удивительна, но!
Когда, все же заработал мой класс, и я сделал, как Вы советовали:
я скопировал метод submit, в нем изменил $user_id = $this->ms2->getCustomerId() на $user_id = $this->getReceiverId();
и новый метод, поменял у него название на getReceiverId()…
тут все работать перестало.
По сути в исходниках я изменял только метод getCustomerId
И был совершенно уверен, что тут у меня не возникнет ни каких проблем.
Собственно в связи с этим вопрос. То был файл в ядре и возможно там различные объекты и прочее достаются иначе, чем это нужно делать через класс, как это есть сейчас у меня?
Помогите, я снова в тупике.
После чего у тебя ms2_services должен быть таким
Тебе надо делать только одно из двух либо регистировать клас через консоль либо в сис. настройках.
В зависимости от версии minishopа может быть разный путь к msOrderHandler, убедись что етот файл существует
А еще в submit ты поменял $user_id = $this->ms2->getCustomerId(); на $user_id = $this->getReceiverId(); Но новый метод ты не назвал getReceiverId