Skip to content
mxQuickView
mxQuickView
Быстрый просмотр карточки товара и любых ресурсов по AJAX для MODX 3
  • MODX 3
  • PHP 8.1
  • miniShop3
  1. Компоненты
  2. mxQuickView
  3. Интеграция на сайте
  4. Сниппет mxQuickView.initialize

Сниппет mxQuickView.initialize ​

Подключает ресурсы mxQuickView на сайте, задаёт window.mxqvConfig и выводит HTML контейнер(ы) модалки.

Что делает ​

  • Подключает css/mxqv.min.css (если не найден — запасной css/mxqv.css).
  • Публикует window.mxqvConfig (connectorUrl, mouseoverDelay, modalSize, modalLibrary, debug, loadingText).
  • Подключает js/mxqv.min.js (если не найден — запасной js/mxqv.js).
  • Всегда выводит контейнер нативной модалки (#mxqv-modal-backdrop, #mxqv-modal).
  • Для modalLibrary=bootstrap дополнительно выводит контейнер #mxqv-bootstrap-modal и подключает Bootstrap CSS/JS.
  • Для modalLibrary=fancybox подключает Fancybox CSS/JS.

Свои файлы ищутся сначала в публичном дереве assets/components/mxquickview/, потом в core/components/mxquickview/assets/; очередность min перед исходником. К URL добавляется ?v= с filemtime найденного файла. Пути вендоров (Fancybox, Bootstrap) при непустом значении используются как есть, без проверки существования: см. системные настройки.

Разметка, на которую смотрит JS ​

ЭлементГде появляетсяЗачем
#mxqv-modal-backdrop, #mxqv-modalвсегдаконтейнер режима native
#mxqv-modal-titleвсегдазаголовок модалки
[data-mxqv-nav="prev"], [data-mxqv-nav="next"]native, bootstrapкнопки навигации по data-mxqv-loop
[data-mxqv-close]native, bootstrapкнопка закрытия
#mxqv-modal-body, #mxqv-bootstrap-modal-bodyсоответственнообласть, внутрь которой вставляется ответ
.qv-modal__loadingnative, bootstrapтекст loadingText до загрузки
.qv-modal__content-areanative, bootstrapконтейнер, куда кладётся HTML ответа
#mxqv-bootstrap-modal, #mxqv-bootstrap-modal-titlebootstrapконтейнер и заголовок Bootstrap-модалки
.mxqv-bootstrap-actionsbootstrapобёртка кнопок навигации Bootstrap
.mxqv-fancybox-content, [data-mxqv-fancybox-title]fancyboxJS собирает их сам при открытии, сниппет не выводит

Размер из modalSize попадает в класс #mxqv-modal: modal-sm → qv-modal__box--sm, modal-lg → qv-modal__box--lg, modal-xl → qv-modal__box--xl. Неизвестное значение даёт qv-modal__box--lg. В режиме bootstrap класс идёт в .modal-dialog.

Параметры ​

ПараметрПо умолчаниюОписание
modalSizeперекрывает mxquickview_modal_sizeТолько native/bootstrap: modal-sm, modal-lg, modal-xl
mouseoverDelayперекрывает mxquickview_mouseover_delayПустая строка = настройка (по умолчанию 300 мс)
modalLibrarynativenative, bootstrap, fancybox (bootstrap5 alias)
debugmxquickview_debugВ панели управления нет в списке свойств transport, передаётся через &debug=
loadingTextлексикон mxqv_loadingНе в свойствах transport, только через &loadingText=
fancyboxCssmxquickview_fancybox_css, если параметр не задан или пустойURL/путь к CSS Fancybox
fancyboxJsто жеJS Fancybox
bootstrapCssто жеCSS Bootstrap
bootstrapJsто жеJS Bootstrap

Использование ​

modx
[[!mxQuickView.initialize]]
fenom
{'!mxQuickView.initialize'|snippet}

С параметрами:

modx
[[!mxQuickView.initialize?
  &modalLibrary=`bootstrap`
  &modalSize=`modal-xl`
  &mouseoverDelay=`350`
  &debug=`1`
]]
fenom
{'!mxQuickView.initialize'|snippet:[
  'modalLibrary' => 'bootstrap',
  'modalSize' => 'modal-xl',
  'mouseoverDelay' => 350,
  'debug' => 1
]}