Skip to content
MiniShop3
MiniShop3
Современный компонент интернет-магазина для MODX 3
  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.