msCart

26 июня 2016, 15:28

Сниппет предназначен для вывода корзины покупателя.

Параметры

Параметр По умолчанию Описание
tpl tpl.msCart Чанк оформления
includeTVs Список ТВ параметров для выборки, через запятую. Например: "action,time" дадут плейсхолдеры [[+action]] и [[+time]].
includeThumbs Список размеров превьюшек для выборки, через запятую. Например: "120x90,360x240" дадут плейслолдеры [[+120x90]] и [[+360x240]]. Картинки должны быть заранее сгенерированы в галерее товара.
toPlaceholder Если не пусто, сниппет сохранит все данные в плейсхолдер с этим именем, вместо вывода не экран.
showLog Показывать дополнительную информацию о работе сниппета. Только для авторизованных в контекcте "mgr".

Можно использовать и другие общие параметры pdoTools

Оформление

Сниппет рассчитывает на работу с чанком Fenom. Он передаёт в него 2 переменные:

  • total - массив итоговых значений корзины, в котором:
    • count - количество товаров
    • cost - стоимость товаров
    • weight - общий вес товаров
  • products - массив товаров корзины, каждый из них содержит:
    • key - ключ товара в корзине, хэш от его значений и опций
    • count - количество товара
    • cost - стоимость одной единицы
    • id - идентификатор товара
    • pagetitle - название страницы товара
    • uri - адрес товара
    • прочие свойства товара, включая опции, свойства производителя и т.д.

Плейсхолдеры

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

<pre>[[!msCart?tpl=``]]</pre>

Также для отладки можно использовать модификатор print. Просто создайте чанк TestCart и укажите в нём:

{$total | print}
{foreach $products as $product}
    {$product | print}
{/foreach}

Затем вызовите его в корзине:

[[!msCart?
    &tpl=`TestCart`
]]

И вы увидите все доступные плейсхолдеры.

Создание заказа

Данный сниппет рекомендуется вызывать в связке с другими на странице оформления заказа:

[[!msCart]] <!-- Просмотр и изменение корзины, скрывается после создания заказа -->

[[!msOrder]] <!-- Форма оформления заказа, скрывается после его создания -->

[[!msGetOrder]] <!-- Вывод информации о заказе, показывается после его создания -->