Skip to content
  1. Компоненты
  2. MiniShop3
  3. Сниппеты

Сниппеты MiniShop3 ​

MiniShop3 предоставляет набор сниппетов для построения интернет-магазина на фронтенде. Все сниппеты работают через pdoTools и поддерживают шаблонизатор Fenom.

Обзор сниппетов ​

СниппетНазначение
msProductsВывод списка товаров с фильтрацией и сортировкой
msCartОтображение корзины покупок
msOrderФорма оформления заказа
msGetOrderПолучение информации о заказе
msGalleryГалерея изображений товара
msOptionsВывод опций для фильтрации товаров
msProductOptionsХарактеристики конкретного товара
msCustomerЛичный кабинет покупателя
msOrderTotalИтоговая сумма заказа

Общие принципы ​

Вызов сниппетов ​

Все сниппеты можно вызывать через Fenom:

fenom
{'msProducts' | snippet : [
    'parents' => 5,
    'limit' => 10
]}

Или через стандартный синтаксис MODX:

modx
[[!msProducts?
    &parents=`5`
    &limit=`10`
]]

Кэширование

Сниппеты, работающие с сессией пользователя (msCart, msOrder, msCustomer), должны вызываться некэшированно (с !).

Параметр return ​

Значения return зависят от сниппета:

СниппетПо умолчаниюЗначения
msProductsdatadata, json, ids, sql
msCarttpltpl, data
msOrdertpltpl, data
msGetOrder—только HTML чанка (параметра return нет)
msGallerydatadata, tpl, json, sql
msOptions—только HTML чанка
msProductOptionstpltpl, data, array
msCustomertpltpl, data
msOrderTotaltpltpl, data

Общие значения:

ЗначениеОписание
tplРендер через чанк
dataМассив данных (или HTML строки у msProducts — см. msProducts)
jsonJSON-строка (msProducts, msGallery)
idsID через запятую (msProducts)

Числа и *_formatted ​

Плейсхолдеры цен и веса в чанках — числа (float). Для вывода на сайте используйте поля *_formatted. Параметр formatPrices удалён как no-op.

СниппетПоведение
msProductsprice_formatted, old_price_formatted, weight_formatted. Символ валюты — только при withCurrency => true
msCart, msOrder, msGetOrder, msOrderTotal*_formatted всегда с валютой или единицей веса

Личный кабинет и авторизация покупателя — сниппет msCustomer и страница Авторизация покупателя.

Параметр toPlaceholder ​

Вместо прямого вывода можно сохранить результат в плейсхолдер:

fenom
{'msProducts' | snippet : [
    'toPlaceholder' => 'products'
]}

{* Позже использовать *}
{$_modx->getPlaceholder('products')}

Чанки по умолчанию ​

MiniShop3 устанавливает набор готовых чанков:

СниппетЧанк по умолчанию
msProductstpl.msProducts.row
msCarttpl.msCart
msOrdertpl.msOrder
msGetOrdertpl.msGetOrder
msGallerytpl.msGallery
msOptionstpl.msOptions
msProductOptionstpl.msProductOptions
msOrderTotaltpl.msOrderTotal

Чанки можно переопределить, создав свои версии или указав другой чанк в параметре tpl.