40 минут назад
1.3
по разному пробовали к примеру
{'!msCart' | snippet: ['tpl' => 'tpl.msCart']}
может конечно дело в selector
MiniShop3 1.2.0 - 1.3.0 Самое интересное 3
2 часа назад
Охренительно! Это топ! Пора перелезать на тройку =))
CustomExtra 3.0.0-beta для MODX3 2
2 часа назад
UPD: Предложенный вариант с формированием ссылок рабочий, конечно, но он вызывает перезагрузку страницы.
Как бы решить эту задачу красиво, с Ajax как...
Кнопки как в ModStore 12
4 часа назад
Спасибо за помощь! Попробовала рекомендации, пока не помогло. Но, думаю, действительно какой-то конфликт. Буду ещё разбираться.
Не работает пагинация pdoPage 6
30 января 2026, 17:55
Уже практически готов, допиливаю детали. В течение недели думаю релиз будет
MiniShop3 - 1.1.0 - Уже в Modstore.pro 38
30 января 2026, 14:56
Это для фронтендеров которым fenom привычен я так полагаю
Fenom.js: шаблонизатор в стиле Fenom.php для JavaScript и Vite 5
29 января 2026, 12:28
Хотя не зря, все равно мой велосипед более гибкий, в будущем может еще что то к нему прикручу.
Сниппет getPageBlockContent для вывода блоков PageBlocks (Free версия) с других страниц в MODX 6
29 января 2026, 11:29
код для генерации схем MIGXdb
может кому пригодится или доработается
<!DOCTYPE html>
<html lang="ru">
<head>
<met...
MigxDB - Делаем безграничное хранилище "объектов" в ресурсах. 11
29 января 2026, 09:03
а так это работает только если сайт тоже работает на твоём же компе, как делают некоторые локальную разработку на базе XAMPP, open server и прочих Den...
Инструкция: Настройка SOCKS5 прокси в MODX3 для работы с репозиторием 21
27 января 2026, 21:17
Приветствую.
Есть несколько вопросов:
1. Без редактора Markdown — пост наверное будет простыней текста (как его преображать: тегами **Жирный текст**...
[IskTelega] - компонент для отправки публикаци в телеграм каналы. 8
Всего 125 559 комментариев
Так MS3 целиком предназначен для MODX3. Я не занимаюсь развитием платформы для MODX2.
Тут ничего не изменилось. Поля товара как хранились в ms2_products так и хранятся.
А как ты их между собой связал? Это же разные сущности.
Если вопрос о том, как новые поля попадут в xpdo модель — то там наш старый привычный еще из ms2 способ, который на лету обновляет $meta['map']
Цепочка загрузки:
- 1. OnMODXInit → $ms3->loadMap()
- 2. MiniShop3::loadMap() → $this->extraFields->loadMap()
- 3. ExtraFields::loadMap() → загружает ms3_extra_fields (active=1)
- 4. ExtraFields::getFieldInfo() → формирует метаданные
- 5. ExtraFields::addFieldToMap() → МОДИФИЦИРУЕТ $modx->map[$class] ← ВОТ ГДЕ МАГИЯ!
- 6. xPDO видит новые поля как нативные
Тут я бы разделил ответ1. Репозиторий — это паттерн. Нет четких правил по его использованию или обязательств его использовать. Так что каждый волен делать так, как видит. Вот Laravel до пятой версии вообще всю логику внутри моделей тягал и ничего.
2. На практике, насколько я видел как пишут другие, сервис и репозиторий по сути своей одно и тоже. Их задача разгрузить контроллер, вынести логику в отдельный контейнер.
Я вижу так.
Контроллер принимает запрос от API и отдает ответ. На этом все. Его зона ответственности Request-Магия-Response.
Репозиторий и\или Service — логика. Здесь идет разбор запроса, обращения к DB, построение ответа. Задача сервиса — подготовить ответ согласно запроса.
Model — исключительно работа с базой. Ее задача сходит в базу и выполнить поставленную задачу.
1. Будет ли поддержка modx3?
2. Продукты будут в отдельной таблице?
3. Миграции phinx — а xpdo объекты будут работать? Миграция будет запускаться вручную или при обновлении компонента? Например, при создании поля, что будет происходить?
Если придираться, то:
Сервис — это бизнес-логика и обработка данных
Репозиторий — запросы к базе
Контроллер — запросы, ответы и валидация данных
То есть, контроллер вызывает сервис, сервис вызывает репозиторий, а он в свою очередь обращается к модели.
Актуализируйте плиз, всё по статье рабочее?
если пресет не прописывать в sendit.inc.php то письмо о заказе прилетает на почту (и в письме кстати нет ID товара), но в заказах minishop не показывается
если прописать пресет, то ругается что ID не заполнен…
если вручную даже прописать или вообще из пресета убрать обязательность поля ID то после нажатия на кнопку просто ничего не происходит…
в чем может быть причина? всё как в статье, за исключением иправления косяка в JS — oncLickModal.
В классе компонента и его плагине есть проверки статуса заказа. Если статус отличный от «новый», то там сразу идет редирект на страницу ошибки оплаты без отправки данных в платежную систему и соответвенно без колбека от нее.
В моем случае письмо со ссылкой на оплату отправляется при выставлении дополнительного статуса заказа «Принят к оплате». Соответвенно сразу фейлится.
В итоге пришлось сделать копию класса и внести правки – добавить новый статус и поправить условие проверки.
Вы серьёзно считаете, что чел, способный написать плагин, может не знать на какое событие его назначать?)))