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

msdBuyNow

Сниппет для вывода блока «Успей купить», который показывает время окончания акции на товары.

Выбирает id нужных товаров и передаёт их в сниппет msProducts. Следовательно, помимо собственных параметров, принимает и все параметры msProducts.

Параметры

НазваниеПо умолчаниюОписание
&saleСписок акций для вывода, через запятую. Если пусто, выведет все.
&tpltpl.msProducts.discount.rowЧанк оформления для вывода результата работы сниппета.
&frontend_css[[+assetsUrl]]css/web/main.cssФайл с css стилями для подключения на фронтенде.
&frontend_js[[+assetsUrl]]js/web/default.jsФайл с javascript для подключения на фронтенде.
&force_date1Выводить товары только из акций с ограничением по времени.

По умолчанию сниппет выводит все товары из акций с ограничением по времени. Безвременные акции будут выводиться только при указании пустого параметра &force_date

Это может быть полезным для вывода всех товаров со скидкой, например, в mFilter2:

modx
[[!mFilter2?
  &parents=`0`
  &element=`msdBuyNow`
  &force_date=`0`
  ...
]]

Обратный отсчет

В комплекте идет js-файл, запускающий обратный отсчет до конца акции. Он получает количество оставшихся секунд и преобразует их в счетчик:

html
<span class="msd_remains" data-remain="1473652">
  <span class="days">17</span>
  <span class="hours">01</span>
  <span class="minutes">20</span>
  <span class="seconds">52</span>
</span>

Для оформления внешнего вида счетчика можно использовать CSS стили .msd_remains span {}, .msd_remains .days {} и т. д.

Примеры

Так как сниппет выводит количество секунд, оставшихся до окончания акции, он должен вызываться некэшированным.

Обычный вызов для вывода товаров по временным акциям:

modx
[[!msdBuyNow]]

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

modx
[[!pdoPage?
  &element=`msdBuyNow`
]]
[[!+page.nav]]

Вывод с указанием параметров для msProducts:

modx
[[!pdoPage?
  &element=`msdBuyNow`
  &sale=`1,2,3,4,5`
  &includeTVs=`type`
  &sortby=`type`
  &includeThumbs=`120x90`
]]
[[!+page.nav]]