Существует множество случаев и ситуаций, в которых может быть применена данная функция. Наиболее очевидные из них:
- При создании магазина одежды выводить в карточке блок "Другие юбки (штаны, майки и т.д.)".
- В магазине бытовой техники показывать товары того же бренда или той же категории.
- С точки зрения юзабилити и продаж: продемонстрировать клиентам, пришедшим с поиска напрямую в карточку товара, другие товары из ассортимента магазина.
- С точки зрения SEO — это быстрый способ перелинковать страницы товаров.
Сразу хочу отметить, что данный способ достаточно примитивен, но, тем не менее, является универсальным и быстрым. Результат будет примерно следующим:
Для реализации откройте на редактирование шаблон комплексного компонента каталога, который отвечает за вывод раздела каталога:
/bitrix/templates/ШАБЛОН_САЙТА/components/bitrix/catalog/ШАБЛОН_КАТАЛОГА/section.php
Скопируйте из него код, отвечающий за вывод разделов каталога, с вызовом компонента bitrix:catalog.section:
$intSectionID = $APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"section",
array(
// тут все настройки компонента
// Вот эти настройки меняем вручную
"ADD_SECTIONS_CHAIN" => "N", // не добавлять в цепочку
"SET_TITLE" => 'N', // не ставить заголовок
"BROWSER_TITLE" => 'N', // не ставить заголовок браузера
),
$component
);
Если не изменить настройки отвечающие за заголовок и цепочку навигации, bitrix:catalog.section перешибет настройки компонента bitrix:catalog.element.
Теперь откройте на редактирование шаблон комплексного компонента каталога, который выводит детальную карточку:
/bitrix/templates/ШАБЛОН_САЙТА/components/bitrix/catalog/ШАБЛОН_КАТАЛОГА/element.php
Вставьте скопированный код компонента bitrix:catalog.section в самый низ этого файла. Убедитесь, что при переходе в карточку любого товара в ней выводятся товары из каталога. Единственное, что осталось сделать — это передать символьный код текущего раздела товара в этот компонент. В противном случае во всех карточках будут отображаться одни и те же товары.
Найдите следующие строки:
"SECTION_ID" => "",
"SECTION_CODE" => "",
В них необходимо передать либо ID, либо CODE текущего раздела:
//передаст символьный код
"SECTION_ID" => "",
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
//передаст ID
"SECTION_ID" => "$arResult["VARIABLES"]["SECTION_ID"]",
"SECTION_CODE" => "",
Используйте что-то одно, оставив второе поле пустым. Выбор зависит от настроек ЧПУ вашего каталога.