mxQuickView

Компонент для быстрого просмотра ресурсов и товаров в MODX
Автор дополнения
Ivan Bochkarev
Пакетов
9
Закачек
63
Обычно отвечает в течение 2 часов
Автор дополнения
Пакетов
9
Закачек
63
Обычно отвечает в течение 2 часов
Версия 1.0.0-pl
Дата выпуска 06.03.2026
Загрузки 1
Просмотры 239
Внимание, этот компонент требует PHP 8.2 или выше!
Внимание, этот компонент требует MODX 3 или выше.
⚡ mxQuickView для MODX Revolution 3 и MiniShop3

Показывайте товары и контент быстрее, без перехода на отдельную страницу. mxQuickView загружает HTML по AJAX и открывает quick view по клику или наведению: удобно для каталога, новостей, статей, блога и любых ресурсов MODX.

Это решение для тех, кто хочет:
  • сократить лишние клики и быстрее подводить пользователя к действию
  • встроить quick view без jQuery и тяжёлых кастомных решений
  • использовать уже знакомый стек сайта: native, Bootstrap или Fancybox
  • получить готовую интеграцию с MiniShop3 и поддержкой ms3Variants

🪟 Типы модалки
  • native — встроенная модалка без внешних зависимостей, mobile-first и с удобной кастомизацией через CSS-переменные
  • fancybox — для проектов, где Fancybox уже используется как стандартный lightbox/modal layer
  • bootstrap — для сайтов на Bootstrap 5, где важно сохранить привычную разметку и поведение modal

✨ Ключевые возможности
  • Рендер через chunk, snippet или template под разные сценарии интеграции
  • Вывод не только в модалку, но и в любой контейнер сайта через режим selector
  • Триггеры click и mouseover с настраиваемой задержкой
  • Prev/next-навигация в списках через data-mxqv-parent и data-mxqv-loop=«true»
  • JS-события mxqv:open, mxqv:loaded, mxqv:close для аналитики и кастомной фронтенд-логики
  • Поддержка контекстов, локализованных сообщений и мультиязычных проектов
  • Нативный JavaScript без jQuery и лишних фронтенд-зависимостей

🛒 Готово для MiniShop3
  • Быстрый просмотр карточек товаров и работа с любыми ресурсами в одном пакете
  • Добавление в корзину из quick view без перезагрузки страницы
  • Реинициализация MiniShop3 UI после AJAX-вставки
  • Поддержка ms3Variants (появится в следующей версии): variants_html, variants_json, переключение цены и изображения по выбранному варианту
  • Удобно для витрины, каталога, похожих товаров, акций и списков рекомендаций

🔒 Безопасность и контроль
  • Whitelist для allowed_chunk, allowed_snippet, allowed_template
  • Проверка доступа к ресурсу и валидация контекста перед рендером
  • Один POST-коннектор render с JSON-ответами и локализованными сообщениями

🚀 Быстрый старт
  1. Установите пакет через Extras — Installer
  2. Добавьте в шаблон [[!mxQuickView.initialize]] или Fenom-вызов {'!mxQuickView.initialize'|snippet}
  3. Проверьте whitelist и системные настройки в namespace mxquickview
  4. Добавьте триггеры data-mxqv-* в карточки каталога или списки ресурсов

📋 Требования
  • MODX Revolution 3+
  • PHP 8.1+
  • pdoTools 3.x (рекомендуется)
  • MiniShop3 (опционально, для каталога и корзины)
  • ms3Variants (опционально, для вариативных товаров)

Changelog

Format: Keep a Changelog

[1.0.0] - 2026-03-06

Added

  • Защита коннектора — допускаются только POST-запросы; заголовок Allow: POST при неверном методе.
  • Лексиконы — сообщения коннектора (mxqv_invalid_action, mxqv_invalid_request) через лексикон mxquickview:default.
  • Валидация контекста — перед переключением контекста проверяется существование ключа; при несуществующем ключе используется web.
  • Resolver SendMetrics — анонимная отправка метрик установки/обновления (PHP, MODX, БД, тип установки) на metrics.modx.pro.
  • Шифрование пакета (encrypt) — при сборке с encrypt => true категория (сниппеты, чанки) упаковывается через EncryptedVehicle; для установки требуется ключ от modstore.pro; резолвер resolve.encryption.php загружает класс до обработки зашифрованного vehicle.
  • Версионность CSS/JS — к URL mxqv.css и mxqv.js добавляется query-параметр ?v={filemtime} (сначала проверяется файл в public assets, иначе в core); сброс кэша браузера при обновлении файлов.
  • Сниппет mxQuickView.initialize — подключение CSS/JS и разметки модалки.
  • AJAX-процессор Render — рендер по whitelist (chunk, snippet, template).
  • Режимы — click, mouseover; вывод в modal или selector.
  • Кнопки — prev, next, close для навигации в каталоге.
  • Чанк mxqv_product — быстрый просмотр товара.
  • Нативный JavaScript (mxqv.js) — без jQuery.
  • Интеграция с MiniShop3 — формы data-ms3-form в модалке, событие ms3:cart:updated.
  • Системные настройки — allowed_chunk, allowed_snippet, allowed_template, mouseover_delay, modal_size.
  • Поддержка ms3Variants — при наличии: варианты, цена и изображение по выбору варианта в модалке.
  • BEM / rem / mobile-first — разметка модалки и чанка товара.

Security

  • Коннектор — проверка метода запроса (только POST), лексиконы для ответов об ошибках, безопасное разрешение контекста.

Requirements

  • MODX Revolution 3.x
  • PHP 8.1+
  • pdoTools 3.x (recommended)
  • MiniShop3 (optional)

Последние обсуждения в сообществе MODX.pro