Вывести товары из того же раздела в детальной карточке товара

Просмотров: 23628

Задача: В детальной карточке элемента каталога необходимо отобразить товары, находящиеся в том же разделе, что и сам товар. Это может быть полезно для демонстрации блока "Похожие товары" в рекламных целях.

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

  • При создании магазина одежды выводить в карточке блок "Другие юбки (штаны, майки и т.д.)".
  • В магазине бытовой техники показывать товары того же бренда или той же категории.
  • С точки зрения юзабилити и продаж: продемонстрировать клиентам, пришедшим с поиска напрямую в карточку товара, другие товары из ассортимента магазина.
  • С точки зрения 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" => "",

Используйте что-то одно, оставив второе поле пустым. Выбор зависит от настроек ЧПУ вашего каталога.

Стоимость разработки на 1С-Битрикс:

Индивидуальная разработка магазина

от 400 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Запуск сайта на готовом решении

от 100 000 руб. от 7-ми дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Мобильное приложение

от 400 000 руб. от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Сайт компании

от 250 000 руб. от 1-го месяца

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Инфресурс

от 300 000 руб. от 5-ти недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Лечение сайтов от вирусов

от 30 000 руб. от 2-х дней

Выполню полную проверку сайта и окружения. В случае обнаружения вирусов проведу полный комплекс лечения проекта и закрытия лазеек.