Для получения данных для товаров в пошаговой корзине, необходимо использовать специальную конструкцию в шаблоне cart.html
Инструкция для Shop-Script 8.17.0 и старше
/** Получение данных о товаре * * @param array $item - Массив информации о товаре * @param string $field - Данные, которые необходимо получить * Доступные значения: * - 'price' - цена со скидкой, * - 'compare_price' - зачеркнутая цена, * - 'discount' - размер скидки * * array['class'] string Дополнительный CSS класс к блоку * array['html_before'] string HTML код перед блоком * array['html_after'] string HTML код после блока * array['multiply'] int Умножать итоговое значение или нет. Доступные значения: 0 или 1 * array['ruble_sign'] string Настройка для рубля. Доступные значения: 'symbol' - знак рубля, 'string' - символ руб. * array['return_clear_value'] int Вернуть только значение без обертки. Доступные значения: 0 или 1. * Если установить 1, тогда блок будет статичным. HTML перед и после будет проигнорирован * array['ignore_hide'] int Игнорировать встроенное поведение скрытия. Доступные значения: 0 или 1 * По умолчанию, если зачеркнутая цена или скидка равны нулю, тогда блок будет скрыт. * array['tag'] string Тег блока * array['remove_loader'] int Удалить загрузчик для блока. Доступные значения: 0 или 1 * @param array $params - Массив параметров (подробнее смотрите выше) * $params = [ * 'class' => '', * 'html_before' => '', * 'html_after' => '', * 'multiply' => 1, * 'ruble_sign' => 'string', * 'return_clear_value' => 0, * 'ignore_hide' => 0, * 'tag' => 'span', * 'remove_loader' => 0 * ] * @return string */ {$wa->shop->flexdiscountPlugin->cartItem($item, $field, $params)}
Пример вывода
В шаблоне вывод осуществляется следующим образом:
1) Найдите фрагмент кода в шаблоне cart.html:
{foreach $cart.items as $item}
2) После него в нужное вам можете добавить любую конструкцию.
Примеры конструкций
− Вывод цены со скидкой с учетом количества
{$wa->shop->flexdiscountPlugin->cartItem($item, 'price')}
− Вывод зачеркнутой цены с учетом количества
{$wa->shop->flexdiscountPlugin->cartItem($item, 'compare_price')}
− Вывод скидки с учетом количества
{$wa->shop->flexdiscountPlugin->cartItem($item, 'discount')}
− Вывод зачеркнутой цены с дополнительным HTML
Блок будет скрываться, если у товара не будет скидок. К блоку добавим свой CSS-класс, уберем загрузчик.
{$wa->shop->flexdiscountPlugin->cartItem($item, 'compare_price', [ 'class' => 'compare-at-price', 'html_before' => '<b>Старая цена: </b>', 'remove_loader' => 1 ])}
− Вывод экономии для одного товара (без учета количества)
Блок не будет скрываться, если у товара не будет скидок. Изменим тег блока. Поменяем знак рубля.
{$wa->shop->flexdiscountPlugin->cartItem($item, 'discount', [ 'multiply' => 0, 'html_before' => 'Экономия ', 'ruble_sign' => 'symbol', 'ignore_hide' => 1, 'tag' => 'div' ])}
Инструкция для Shop-Script младше 8.17.0
/** Получение данных о товаре * * @param array $item - Массив информации о товаре * @param bool $mult_quantity - Умножать итоговое значение или нет. Доступные значения: false или true * @param int $html - Настройка для рубля. Доступные значения: 1 - знак рубля, 0 - символ руб. * @param bool $format - Отображать цену в валюте. Доступные значения: false или true. * @param bool $update - Вернуть только значение без обертки, которое не будет обновляться. Доступные значения: false или true. * * Значения по умолчанию: * $mult_quantity = true, * $html = null, * $format = true, * $update = true * * @return string */ {shopFlexdiscountPluginHelper::cartPrice($item, $mult_quantity = true, $html = null, $format = true, $update = true)}
Пример вывода
В шаблоне вывод осуществляется следующим образом:
1) Найдите фрагмент кода в шаблоне cart.html:
{foreach $cart.items as $item}
2) После него в нужное вам можете добавить любую конструкцию.
Примеры конструкций
− Вывод цены со скидкой с учетом количества
{shopFlexdiscountPluginHelper::cartPrice($item)}
− Вывод цены со скидкой без учета количества
{shopFlexdiscountPluginHelper::cartPrice($item, false)}
− Вывод цены со скидкой с учетом количества. Знак рубля будет с виде спец символа "₽"
{shopFlexdiscountPluginHelper::cartPrice($item, false, 1)}
Shop-Script по умолчанию изменяет цены товаров при редактировании корзины. Чтобы Ваша цена со скидкой не была заменена, не вставляйте приведенные выше конструкции в блоки с классами: item-total или s-product-total.
Либо удалите эти классы, либо вставляйте в блок с аналогичным стилевым оформлением.