+7 (843) 212-62-17 - Казань
+7 (843) 212-62-17 - Казань

Компонент logictim:bonus.catalog показывает, сколько бонусов ожидается за товар. Нужен на кастомных шаблонах. На Аспро: Максимум (с 1.8.10), Аспро Премьер (модуль с 4.3.1) и INTEC.KOSMOS (с 1.0.4) ничего делать не нужно.

Вывод бонусов в списке товаров

  1. В шаблоне компонента catalog.section подключите logictim:bonus.catalog вне цикла товаров.
<? $APPLICATION->IncludeComponent(
	"logictim:bonus.catalog",
	".default",
	Array(
		"COMPONENT_TEMPLATE" => ".default",
		"COMPOSITE_FRAME_MODE" => "A",
		"COMPOSITE_FRAME_TYPE" => "AUTO",
		"ITEMS" => $arResult["ITEMS"]
	)
);?>

Компонент получает данные по бонусам товаров и торговых предложений и подставляет их в соответствующие блоки по id. В параметр ITEMS нужно передать массив с товарами. Можно создать и подключать собственный шаблон со своими скриптами.

  1. Добавьте под ценой товара блок:
<div class="bonus" id="lb_ajax_<?=$arItem["ID"]?>"></div>

где $arItem["ID"] - ID товара.

Вывод бонусов в карточке товара

В шаблоне компонента catalog.element добавьте под ценой подключение компонента и блок для подстановки бонусов:

<? $APPLICATION->IncludeComponent(
	"logictim:bonus.catalog",
	".default",
	Array(
		"COMPONENT_TEMPLATE" => ".default",
		"COMPOSITE_FRAME_MODE" => "A",
		"COMPOSITE_FRAME_TYPE" => "AUTO",
		"ITEMS" => array("ITEMS"=>$arResult)
	)
);?>
<div class="bonus" id="lb_ajax_<?=$arResult["ID"]?>"></div>

Шаблон компонента

  • Шаблон .default компонента logictim:bonus.catalog универсальный и подходит для большинства шаблонов.
  • При необходимости создайте копию шаблона компонента и измените вёрстку и скрипты под конкретный сайт.
  • При торговых предложениях компонент выводит максимально возможный бонус исходя из всех ТП товара. Для смены бонуса при выборе вариации нужны свои скрипты в шаблоне - компонент не может сам подстроиться под любую вёрстку смены SKU.

Отдельные инструкции по шаблонам: Аспро NEXT, Аспро Лайтшоп.

AJAX-вывод бонусов в каталоге

Битрикс кэширует страницы каталога в разрезе групп пользователей. Если по условиям правила бонусы для разных пользователей отличаются, по умолчанию в каталоге они могут не показываться и отображаются на этапе оформления заказа.

Чтобы показывать бонусы индивидуально:

  1. В настройках правила начисления укажите отображение в каталоге даже при дополнительных параметрах (формулировка в админке правила).
  2. Интеграция в каталоге должна быть через компонент logictim:bonus.catalog (как выше).
  3. В настройках модуля на вкладке интеграции включите параметр "AJAX вывод бонусов в каталоге".

При AJAX-выводе бонусы рассчитываются при каждой загрузке страницы. Это увеличивает нагрузку на сервер - включайте осознанно.

Вывод в любом компоненте с товарами

Осуществляется аналогично списку товаров: подключение компонента вне цикла (или с передачей нужного массива ITEMS) и блок id="lb_ajax_..." у каждого элемента.

Смотрите также: кастомная корзина, каталог для владельца, для разработчиков.