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

Как подключить mxQuickView и использовать в каталоге.
Сначала подключите mxQuickView.initialize один раз в шаблоне.
{'!mxQuickView.initialize'|snippet}[[!mxQuickView.initialize]]Пример с параметрами:
{'!mxQuickView.initialize'|snippet:[
'modalSize' => 'modal-xl',
'mouseoverDelay' => 350
]}[[!mxQuickView.initialize?
&modalSize=`modal-xl`
&mouseoverDelay=`350`
]]<button type="button"
data-mxqv-click
data-mxqv-mode="modal"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="{$id}"
data-mxqv-title="{$pagetitle}">
Быстрый просмотр
</button><button type="button"
data-mxqv-click
data-mxqv-mode="modal"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="[[+id]]"
data-mxqv-title="[[+pagetitle]]">
Быстрый просмотр
</button>modal + snippet (пример с msCart) <button type="button"
data-mxqv-click
data-mxqv-mode="modal"
data-mxqv-action="snippet"
data-mxqv-element="msCart"
data-mxqv-id="{$id}"
data-mxqv-title="{$pagetitle}">
Быстрый просмотр корзины
</button><button type="button"
data-mxqv-click
data-mxqv-mode="modal"
data-mxqv-action="snippet"
data-mxqv-element="msCart"
data-mxqv-id="[[+id]]"
data-mxqv-title="[[+pagetitle]]">
Быстрый просмотр корзины
</button>Требование: msCart должен быть добавлен в mxquickview_allowed_snippet.
<a href="#"
data-mxqv-mouseover
data-mxqv-mode="modal"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="{$id}"
data-mxqv-title="{$pagetitle}">Наведите</a><a href="#"
data-mxqv-mouseover
data-mxqv-mode="modal"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="[[+id]]"
data-mxqv-title="[[+pagetitle]]">Наведите</a>Задержка берётся из mxquickview_mouseover_delay или параметра mouseoverDelay у initialize.
selector (свой контейнер) <button type="button"
data-mxqv-click
data-mxqv-mode="selector"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="{$id}"
data-mxqv-output=".quickview-output">
Загрузить в блок
</button>
<div class="quickview-output"></div><button type="button"
data-mxqv-click
data-mxqv-mode="selector"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="[[+id]]"
data-mxqv-output=".quickview-output">
Загрузить в блок
</button>
<div class="quickview-output"></div>mouseover + selector <a href="#"
data-mxqv-mouseover
data-mxqv-mode="selector"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="{$id}"
data-mxqv-output=".quickview-output">
Наведите для загрузки
</a>
<div class="quickview-output"></div><a href="#"
data-mxqv-mouseover
data-mxqv-mode="selector"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="[[+id]]"
data-mxqv-output=".quickview-output">
Наведите для загрузки
</a>
<div class="quickview-output"></div>selector <button type="button"
data-bs-toggle="modal"
data-bs-target="#qvBootstrapModal"
data-mxqv-click
data-mxqv-mode="selector"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="[[+id]]"
data-mxqv-output="#qvBootstrapModal .modal-body">
Быстрый просмотр
</button>
<div class="modal fade" id="qvBootstrapModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Быстрый просмотр</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body"></div>
</div>
</div>
</div><div data-mxqv-parent data-mxqv-loop="true">
<button type="button"
data-mxqv-click
data-mxqv-mode="modal"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="{$id}"
data-mxqv-title="{$pagetitle}">
Быстрый просмотр
</button>
</div><div data-mxqv-parent data-mxqv-loop="true">
<button type="button"
data-mxqv-click
data-mxqv-mode="modal"
data-mxqv-action="chunk"
data-mxqv-element="mxqv_product"
data-mxqv-id="[[+id]]"
data-mxqv-title="[[+pagetitle]]">
Быстрый просмотр
</button>
</div>Требование: у каждого триггера внутри должны быть свои data-mxqv-action, data-mxqv-element, data-mxqv-id.
ms3-add-to-cart (data-ms3-form, ms3_action=cart/add).ms3.productCardUI.reinit() (если MiniShop3 доступен).[[+variants_html]], [[+variants_json]], [[+has_variants]].mxQuickView.initialize.allowed_chunk, allowed_snippet, allowed_template).data-mxqv-id.selector-режима отсутствует целевой контейнер data-mxqv-output.context, не совпадающий с context_key ресурса (ответ Access denied).Access denied).pub_date/unpub_date) и нет права view_unpublished.