Skip to content
mxQuickView
Быстрый просмотр карточки товара и блоков по AJAX для MODX 3 и MiniShop3
  1. Компоненты
  2. mxQuickView
  3. Начало работы
  4. Типы рендера

Типы рендера mxQuickView

Документ описывает, как выбирать data-mxqv-action и режим вывода.

Общие правила

  1. Всегда передавайте валидный data-mxqv-id (ресурс должен существовать и быть доступен).
  2. data-mxqv-action определяет, что рендерить: chunk, snippet или template.
  3. data-mxqv-mode определяет, куда выводить: modal или selector.
  4. Коннектор работает только по POST и только с action=render.

Матрица выбора

Задачаdata-mxqv-actiondata-mxqv-mode
Показ карточки товараchunkmodal
Показ корзины/миникорзиныsnippetmodal
Вставка quick view в отдельный блокchunk или snippetselector
Рендер шаблона ресурсаtemplatemodal или selector

1. chunk

Для менеджера

Базовый и наиболее безопасный сценарий: отдельный чанк карточки (например, mxqv_product).

Для разработчика

  • Проверяется по mxquickview_allowed_chunk.
  • Рендер: $modx->getChunk($name, $props).
  • В $props доступны поля ресурса, msProductData, variants_*.

Пример

html
<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}">
  mxQuickView
</button>
html
<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]]">
  mxQuickView
</button>

2. snippet

Для менеджера

Используйте для элементов, которые уже собраны сниппетом (например, msCart).

Для разработчика

  • Проверяется по mxquickview_allowed_snippet.
  • Рендер: $modx->runSnippet($name, $props).
  • В вызов передаются свойства ресурса как параметры сниппета.

Пример

html
<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>
html
<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>

3. template

Для менеджера

Используется реже: когда нужно отрендерить шаблон ресурса целиком.

Для разработчика

  • Проверяется по mxquickview_allowed_template, только если список непустой.
  • Рендер выполняется через getChunk по имени/ID, переданному в element.

Пример

html
<button data-mxqv-click data-mxqv-mode="modal"
  data-mxqv-action="template"
  data-mxqv-element="12"
  data-mxqv-id="{$id}"
  data-mxqv-title="{$pagetitle}">
  Шаблон
</button>
html
<button data-mxqv-click data-mxqv-mode="modal"
  data-mxqv-action="template"
  data-mxqv-element="12"
  data-mxqv-id="[[+id]]"
  data-mxqv-title="[[+pagetitle]]">
  Шаблон
</button>

Режимы вывода

  • Использует встроенную модалку из mxQuickView.initialize.
  • Поддерживает заголовок (data-mxqv-title) и навигацию prev/next.

selector

  • Вставляет ответ в контейнер из data-mxqv-output.
  • Удобно, если у сайта уже есть своя модалка или отдельная зона вывода.