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

Сниппеты MiniShop3 ​

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

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

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

Авторизация покупателя — страница Вход и регистрация.

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

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

fenom
{'msProducts' | snippet : [
    'parents' => 5,
    'limit' => 10
]}
modx
[[!msProducts?
    &parents=`5`
    &limit=`10`
]]

Кэширование

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

Параметр return ​

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

Значение msGallery по умолчанию

После установки свойство return = tpl (чанк). В PHP, если свойство пустое, берётся data (issue #823). Для массива указывайте return=data явно.

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

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

Числа и *_formatted ​

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

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

У msOrderTotal в свойствах сниппета в админке ещё могут быть formatPrices и withCurrency — код их не читает (issue #825).

Параметр toPlaceholder ​

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

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

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

СниппетЧанк по умолчанию
msProductstpl.msProducts.row
msCarttpl.msCart
msOrdertpl.msOrder
msGetOrdertpl.msGetOrder
msGallerytpl.msGallery
msOptionstpl.msOptions
msProductOptionstpl.msProductOptions
msOrderTotaltpl.msOrderTotal
msCustomertpl.msCustomer.profile / .addresses / .orders (по service)

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