Skip to content
ms3Discounts
Правила скидок для MiniShop3. Без промокодов
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Компоненты
  2. ms3Discounts
  3. Витрина
  4. Сниппет ms3discounts

Сниппет ms3discounts ​

Сниппет решает две задачи:

  1. Выводит список действующих акций каталога (когда параметр product равен 0).
  2. Возвращает все подходящие скидки для одного товара (когда передан ID товара в product).

Параметры ​

ПараметрПо умолчаниюОписание
returndataФормат вывода: data — массив PHP, json — JSON-строка, tpl — готовая HTML-разметка через чанки
tpltpl.ms3discounts.list при return=tplИмя чанка строки
tplWrapperпустоЧанк-обёртка для всего списка. Доступны плейсхолдеры [[+output]] и [[+count]]
product0ID товара. При значении 0 выводит список акций. При product > 0 возвращает скидки указанного товара
frontend_cssпустоПуть к CSS-файлу витрины. При return=tpl подключается автоматически из системной настройки ms3discounts_frontend_css
frontend_jsпустоПуть к JS-файлу таймера. При return=tpl подключается автоматически из настройки ms3discounts_frontend_js

Поля в списке акций (при product = 0) ​

Сниппет отбирает активные акции с включённым флагом show_in_catalog.

ПолеСмысл
idID правила скидки
nameНазвание акции
action_typeТип действия (percent, fixed, fixed_price, nth, gift)
action_valueЧисловое значение скидки
date_endДата окончания в формате YYYY-MM-DD HH:mm:ss
remainsКоличество секунд до завершения акции
descriptionОписание акции (заполняется, только если включён флаг «Показывать описание»)
idxПорядковый номер строки начиная с 0 (при return=tpl)

Поля при расчете для товара (при product > 0) ​

Сниппет отбирает акции, у которых включён флаг show_in_catalog или show_in_product, и которые подходят под параметры товара, группы текущего пользователя и активные скидки.

ПолеСмысл
idID правила скидки
nameНазвание акции
percentИтоговый процент скидки
priceЦена товара после применения скидки
base_priceИсходная цена товара до скидки
discountСумма скидки в валюте магазина
sale_discountЗначение скидки (процент, если он больше нуля, иначе сумма)
remainsКоличество секунд до завершения акции
date_endДата окончания акции
potentialСтатус проверки условий корзины (true, если есть невыполненные условия)
idxПорядковый номер строки начиная с 0 (при return=tpl)

Примеры вызова ​

Вывод списка акций через чанк:

fenom
{'!ms3discounts' | snippet : [
  'return' => 'tpl',
  'tpl' => 'tpl.ms3discounts.list',
]}
modx
[[!ms3discounts?
  &return=`tpl`
  &tpl=`tpl.ms3discounts.list`
]]

Получение массива скидок для товара в Fenom:

fenom
{set $discounts = '!ms3discounts' | snippet : [
  'product' => $_modx->resource.id,
  'return' => 'data',
]}

{foreach $discounts as $discount}
  <div class="discount-badge">{$discount.name}: -{$discount.sale_discount}%</div>
{/foreach}