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

Интеграция в шаблон Аспро Премьер

Внимание: данная интеграция - это наша помощь в облегчении интеграции! Мы не несем ответственности при не корректной интеграции сторонними специалистами, а также не несем ответственности в случае изменения кода шаблона сайта! Вы можете открыть код нашего шаблона, и отредактировать его под ваш шаблон, или ваши нужды.

Внимание:
Актуальная версия битрикс на дату 15.10.2024 года имеет ошибки кэширования, в результате чего пропадают стили после обновления страницы.
Битрикс знает о проблеме, и создана заявка на разработку исправления.
Заявка в битрикс: Проблема кэширования скриптов и стилей шаблонов компонентов в рамках комплексного компонента". Номер заявки: 138763
Пока битрикс не исправит ошибку, требуется дополнительно произвести действия по переносу стилей в файл шаблона.
Для этого:
- откройте файл /bitrix/ext_www/default/bitrix/components/logictim/bonus.catalog/templates/aspro_premier/style.css и скопируйте стили (весь код файла).
- добавьте данные стили в файл шаблона аспро: /bitrix/templates/aspro-premier/css/custom.css

Интеграция в список товаров каталога.


1.  В разделе /bitrix/templates/aspro-premier/components/bitrix/catalog/main/page_blocks
создаем копии файлов:
копию catalog_table.php с названием catalog_table_custom.php
копию catalog_list.php с названием catalog_list_custom.php
копию catalog_price.php с названием catalog_price_custom.php

В созданном файле catalog_table_custom.php
заменить строку
"catalog_block",
 

на
"catalog_block_custom",
 

В созданном файле catalog_list_custom.php
заменить строку
"catalog_list",
 

на
"catalog_list_custom",
 

В созданном файле catalog_price_custom.php
заменить строку
"catalog_price",
 

на
"catalog_price_custom",
 


В настройках решения Аспро в разделе "Каталог" указываем используемые шаблоны:
Вид отображения элементов каталога плиткой: catalog_table_custom
Вид отображения элементов списком: catalog_list_custom
Вид отображения элементов таблицей: catalog_price_custom


2. Открываем раздел /bitrix/templates/aspro-premier/components/bitrix/catalog.section
Там имеется три папки с шаблонами: catalog_block, catalog_list, catalog_table.
Создаем копию для каждого шаблона с именами: catalog_block_custom, catalog_list_custom, catalog_table_custom.

В файлы
/bitrix/templates/aspro-premier/components/bitrix/catalog.section/catalog_block_custom/template.php
/bitrix/templates/aspro-premier/components/bitrix/catalog.section/catalog_list_custom/template.php
/bitrix/templates/aspro-premier/components/bitrix/catalog.section/catalog_table_custom/template.php

Вне цикла (после кода <?if($arResult["ITEMS"]):?>)
Вставляем код:
<? if(CModule::IncludeModule('logictim.balls')){
	$APPLICATION->IncludeComponent(
		"logictim:bonus.catalog",
		"aspro_premier",
		Array(
			"COMPONENT_TEMPLATE" => ".default",
			"COMPOSITE_FRAME_MODE" => "A",
			"COMPOSITE_FRAME_TYPE" => "AUTO",
			"ITEMS" => $arResult["ITEMS"]
		)
	);}?>
После блока с ценой
<div class="js-popup-price" data-price-config='<?=str_replace('\'', '"', CUtil::PhpToJSObject($arPriceConfig, false, true))?>'>
...
</div>

Вставьте блок:
<div class="lb_bonus lb_ajax_<?=$arItem["ID"]?>" data-item="<?=$arItem["ID"]?>"></div>
 

Интеграция в список товаров на главной (в табах).

В папке /bitrix/components/aspro/tabs.premier/templates/
сделать копию папки .default с названием custom.
В файле /bitrix/components/aspro/tabs.premier/templates/custom/page_blocks/catalog_block.php
заменить строку 'catalog_block',
на 'catalog_block_custom',

В настройках компонента Аспро: Табы на главной переключить шаблон с .default на custom.

Интеграция в карточке товара

Внимание:
В решении Аспро присутствует ошибка, и если изменить тип вывода карточки товара в настройках Аспро, то перестает корректно отображаться блок "С этим товаром покупают". Поэтому необходимо:
В файле /bitrix/templates/aspro_premier/components/bitrix/catalog/main/page_blocks/element_1.php
заменить строку "main", на "custom".
Выделенный голубым текст инструкции в данном случае выполнять не надо.


Создать копию файла /bitrix/templates/aspro_premier/components/bitrix/catalog/main/page_blocks/element_1.php
с названием element_custom.php

Включить в настройках решения Аспро данный шаблон.
Открываем настройки решения Аспро. Путь до настроек: ваш_сайт/bitrix/admin/aspro/premier/options.php
Выбираем раздел "Каталог", находим блок "Детальная страница каталога", и выбираем "custom". Сохраняем.

В файле /bitrix/templates/aspro_premier/components/bitrix/catalog/main/page_blocks/element_custom.php
заменить строку "main", на "custom",

Создать копию папки /bitrix/templates/aspro_premier/components/bitrix/catalog.element/main с названием custom.

В файле /bitrix/templates/aspro-lite/components/bitrix/catalog.element/custom/template.php в любом месте,
Вставить код: 
<? if(CModule::IncludeModule('logictim.balls')){
	$APPLICATION->IncludeComponent(
		"logictim:bonus.catalog",
		"aspro_premier",
		Array(
			"COMPONENT_TEMPLATE" => ".default",
			"COMPOSITE_FRAME_MODE" => "A",
			"COMPOSITE_FRAME_TYPE" => "AUTO",
			"ITEMS" => array("ITEMS"=>$arResult)
		)
	);}?>
После кода
<div class=" catalog-detail__price catalog-detail__info--margined js-popup-price  <?=$prices->isFilled() ? '' : 'hidden';?>" data-price-config='<?=str_replace('\'', '"', CUtil::PhpToJSObject($arPriceConfig, false, true))?>'>
    <?$prices->show()?>
</div>
 
Вставить блок:
<div class="lb_bonus lb_ajax_<?=$arResult["ID"]?>" data-item="<?=$arResult["ID"]?>"></div>
 

Вывод бонусов в "Вам также может понравиться" и "С этим товаром покупают" в карточке товара:

Подключение компонента находится в файле /include/blocks/detail_linked_goods.php
В файле заменить строку
"catalog_block",
 

на
"catalog_block_custom",
 

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

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

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

В файле /bitrix/templates/aspro-premier/components/bitrix/catalog/main/page_blocks/fast_view_1.php
Заменить строку "fast_view_1", на "fast_view_custom",
Если аспро при обновлении заменят этот файл, то просто повторить операцию. Дальнейшие действия повторять не надо.


Создать копию шаблона (папки) /bitrix/templates/aspro-premier/components/bitrix/catalog.element/fast_view_1 с названием fast_view_custom
В файле /bitrix/templates/aspro-premier/components/bitrix/catalog.element/fast_view_custom/template.php
в любом месте добавить код:
<? if(CModule::IncludeModule('logictim.balls')){
	$APPLICATION->IncludeComponent(
		"logictim:bonus.catalog",
		"aspro_premier",
		Array(
			"COMPONENT_TEMPLATE" => ".default",
			"COMPOSITE_FRAME_MODE" => "A",
			"COMPOSITE_FRAME_TYPE" => "AUTO",
			"ITEMS" => array("ITEMS"=>$arResult)
		)
	);}?>
 

После строки
<div class="line-block line-block--gap line-block--gap-24 line-block--align-normal flexbox--wrap flexbox--justify-between<?=($prices->isEmpty() ? ' hidden' : '')?>">
   <div class="line-block__item catalog-detail__price js-popup-price" data-price-config='<?=str_replace('\'', '"', CUtil::PhpToJSObject($arPriceConfig, false, true))?>'>
      <?$prices->show();?>
   </div>
</div>
 

Вставить блок:
<div class="lb_bonus lb_ajax_<?=$arResult["ID"]?>" data-item="<?=$arResult["ID"]?>"></div>
 


Интеграция в мобильный шаблон Аспро

В решении Аспро: Премьер доступен мобильный шаблон. Это отдельная версия для смартфонов и планшетов, которая не зависит от десктопной.

1. В папке шаблона /bitrix/templates/aspro-premier-mobile/components/bitrix/catalog/main/page_blocks
создаем копии файлов:
копию catalog_table.php с названием catalog_table_custom.php
копию catalog_list.php с названием catalog_list_custom.php
копию catalog_price.php с названием catalog_price_custom.php

В созданном файле catalog_table_custom.php
заменить строку
"catalog_block",
 

на
"catalog_block_custom",
 

В созданном файле catalog_list_custom.php
заменить строку
"catalog_list",
 

на
"catalog_list_custom",
 

В созданном файле catalog_price_custom.php
заменить строку
"catalog_table",
 

на
"catalog_table_custom",
 
2. Открываем раздел /bitrix/templates/aspro-premier-mobile/components/bitrix/catalog.section
Там имеется три папки с шаблонами: catalog_block, catalog_list, catalog_table.
Создаем копию для каждого шаблона с именами: catalog_block_custom, catalog_list_custom, catalog_table_custom.

В файлы
/bitrix/templates/aspro-premier-mobile/components/bitrix/catalog.section/catalog_block_custom/template.php
/bitrix/templates/aspro-premier-mobile/components/bitrix/catalog.section/catalog_list_custom/template.php
/bitrix/templates/aspro-premier-mobile/components/bitrix/catalog.section/catalog_table_custom/template.php

Вне цикла (после кода <?if($arResult["ITEMS"]):?>)
Вставляем код:
<? if(CModule::IncludeModule('logictim.balls')){
	$APPLICATION->IncludeComponent(
		"logictim:bonus.catalog",
		"aspro_premier",
		Array(
			"COMPONENT_TEMPLATE" => ".default",
			"COMPOSITE_FRAME_MODE" => "A",
			"COMPOSITE_FRAME_TYPE" => "AUTO",
			"ITEMS" => $arResult["ITEMS"]
		)
	);}?>
После блока с ценой
<div class="js-popup-price" data-price-config='<?=str_replace('\'', '"', CUtil::PhpToJSObject($arPriceConfig, false, true))?>'>
...
</div>

Вставьте блок:
<div class="lb_bonus lb_ajax_<?=$arItem["ID"]?>" data-item="<?=$arItem["ID"]?>"></div>
 

Создать копию файла /bitrix/templates/aspro-premier-mobile/components/bitrix/catalog/main/page_blocks/element_1.php
с названием element_custom.php

В файле /bitrix/templates/aspro-premier-mobile/components/bitrix/catalog/main/page_blocks/element_custom.php
заменить строку "main", на "custom",

Создать копию папки /bitrix/templates/aspro-premier-mobile/components/bitrix/catalog.element/main с названием custom.

В файле /bitrix/templates/aspro-premier-mobile/components/bitrix/catalog.element/custom/template.php в любом месте,
Вставить код: 
<? if(CModule::IncludeModule('logictim.balls')){
	$APPLICATION->IncludeComponent(
		"logictim:bonus.catalog",
		"aspro_premier",
		Array(
			"COMPONENT_TEMPLATE" => ".default",
			"COMPOSITE_FRAME_MODE" => "A",
			"COMPOSITE_FRAME_TYPE" => "AUTO",
			"ITEMS" => array("ITEMS"=>$arResult)
		)
	);}?>
После кода
<div class="visible-by-container-rule <?=$prices->isFilled() ? '' : 'hidden';?>">
   <div class="line-block__item catalog-detail__price catalog-detail__info--margined js-popup-price" data-price-config='<?=str_replace('\'', '"', CUtil::PhpToJSObject($arPriceConfig, false, true))?>'>
      <?$prices->show()?>
   </div>
</div>
 

Вставить блок:
<div class="lb_bonus lb_ajax_<?=$arResult["ID"]?>" data-item="<?=$arResult["ID"]?>"></div>

Возврат к списку