mxQuickView
Быстрый просмотр карточки товара и любых ресурсов по AJAX для MODX 3

mxQuickView.initialize Подключает CSS/JS, публикует window.mxqvConfig, подготавливает режимы модалки native/bootstrap/fancybox.assets/components/mxquickview/js/mxqv.min.js Делегирование событий, AJAX-запросы к connector, отрисовка modal/selector, loop-навигация, ms3Variants-хелперы.assets/components/mxquickview/connector.php Единая HTTP-точка входа для action render.core/components/mxquickview/src/Processors/Render.php Проверка whitelist, доступов к ресурсу, рендер chunk|snippet|template.core/components/mxquickview/elements/chunks/mxqv_product.tpl Разметка карточки для quick view с формой корзины и блоком вариантов.data-mxqv-*.mxqv.js формирует POST-запрос в connector.php (mode, data_action, element, id, context, output, modal_library).action=render, затем вызывает Render::run(...).id, element, data_action;getChunk или runSnippet.{success, html|message}.native/bootstrap/fancybox) или в указанный selector-контейнер.В рендер передаются:
$resource->toArray());content ресурса;assets_url;msProductData;has_variants, variants_html, variants_json.POST.id, deleted=0) и право view/load.chunk и snippet whitelist обязателен.template whitelist обязателен; пустой mxquickview_allowed_template блокирует template-рендер.Компонент не создаёт собственные таблицы БД для quick view-логики: использует ресурсы MODX и (опционально) модели MiniShop3/ms3Variants.
| Файл | Роль |
|---|---|
assets/components/mxquickview/connector.php | Входная точка AJAX |
core/components/mxquickview/src/Processors/Render.php | Бизнес-логика рендера |
core/components/mxquickview/elements/snippets/mxqv_initialize.php | Подключение фронта и разметки модалки |
assets/components/mxquickview/js/mxqv.min.js | Поведение на клиенте (минифицирован) |
assets/components/mxquickview/css/mxqv.min.css | Стили модалки и карточки (минифицирован) |