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

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

  • При создании магазина одежды вывести в карточке блок "Другие юбки (штаны, майки и.т.д)"
  • В магазине бытовой техники вывести товары того же бренда или той же направленности
  • С точки зрения юзабилити и продаж, показать клиентам, пришедшим из поиска сразу в карточку товара, другие товары своего магазина
  • С точки зрения СЕО - это достаточно быстрый способ перелинковать страницы товаров

Скажу сразу, способ достаточно топорный, но вместе с тем универсальный и быстрый. Получится что-то вроде этого:

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

Выводим в любом месте сайта компонент "Элементы раздела", полностью его настраиваем, верстаем или применяем нужный шаблон и настраиваем на вывод товаров любого раздела нашего каталога. К тому же не забываем настроить ЧПУ таким же образом, как это сделано в основном каталоге.

Далее забираем весь вывод компонента с помощью просмотра исходного кода:

Переходим в шаблон нашего каталога к файлу, который содержит в себе вывод детальной карточки товара по пути

/bitrix/templates/ШАБЛОН_САЙТА/components/bitrix/catalog/ШАБЛОН_КАТАЛОГА/element.php

И вставляем скопированный код компонента "Элементы раздела" в самый низ этого файла. После этого все заработает. Убедитесь пройдя в карточку любого товара. Единственное что нам осталось - передать символьный код текущего для товара раздела в этот компонент. Иначе во всех товарах будет одно и тоже.

Находим две строчки:

"SECTION_ID" => "",
"SECTION_CODE" => "",

В них то и передаем либо ID либо CODE текущего раздела

//передаст символьный код
"SECTION_ID" => "",
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],

//передаст ID
"SECTION_ID" => "$arResult["VARIABLES"]["SECTION_ID"]",
"SECTION_CODE" => "",

Используйте что-то одно, второй должен остаться пустым. Само собой, если у ваших разделов нет SECTION_CODE, то использовать можно только SECTION_ID

Еще в записках:
Все заметки
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей

Зарегистрироваться Войти
Напомнить пароль

Быстрая регистрация через соц.сеть:
Гость сайта
А можешь подсказать как допилить чтоб не показывался тот товар на котором находишься?
Иван
Спасибо тебе большое, помог решить проблему. Сколько берешь за услуги интеграции с Битрикс уже сверстанного дизайна? Скоро может понадобиться.
Михаил Базаров
Цитата
Гость сайта пишет:
А можешь подсказать как допилить чтоб не показывался тот товар на котором находишься?
Перед выводом товаров поставить

Код
$GLOBALS['NotItItem'] = array('!ID' => $arResult["ID"]); 

В самом catalog.section добавить этот фильтр

Код
"FILTER_NAME" => "NotItItem", 
Александр Силуянов
Михаил, это работает только в каталоге.
Подскажите как реализовать на редакции Стандарт в компоненте news.list?
Заранее благодарен.
Алексей Сель
Михаил, скажите пожалуйста, этот метод еще актуален? Никак не могу передать ни id ни символьный код, в результате товары у меня не выводятся.
Михаил Базаров
Цитата
Алексей Сель написал:
Михаил, скажите пожалуйста, этот метод еще актуален? Никак не могу передать ни id ни символьный код, в результате товары у меня не выводятся.
Да, актуален. Ищите ошибку у себя. Буквально дня три назад делал на самой свежей версии Битрикс. Да и в принципе, в этом плане не могло что-то измениться
Случайные заметки из блога
Табы из свойств инфоблока в Битрикс

Думаю все знают что такое табы или вкладки. Расскажу как на ...

Подключение SSL на Битрикс виртуальная машина

Для некоторых сервисов, типа Яндекс Касса, требуется наличие...

Дополнительные картинки в списке элементов каталога битрикс

Очень редко, но бывают ситуации, когда надо вывести дополнительные...

Умный фильтр на главной странице Битрикс

Достаточно редкая но востребованная задачка- это вывести компонент...

Время на БД и веб сервере отличается на 3600 секунд, тест Битрикс

Достаточно часто, при проверке параметров системы, в Битрикс,...

Ускорение сайта Битрикс на ubuntu server, Memcached.

До сегодняшнего дня арендовал виртуальный сервер в Германии ...

Свежие комментарии в блоге
Самодельная форма добавления элемента на API Битрикс

Здравствуйте! А вот вопрос как пользователю в месте с элементом создать раздел в котором он будет на...

25.07.2017 / Александр Иванов
Очистка корзины битрикс одним нажатием

[url=/blog-note/1412/]Очистка корзины битрикс одним нажатием[/url] В стандартной корзине Битрикс...

24.07.2017 / Михаил Базаров
Материалы по теме в новостях Битрикс, с картинкой, названием и текстом анонса.

[QUOTE][USER=1631]Интересующийся многим[/USER] пишет: Михаил, добрый день! что-то ссылка [url]http...

22.07.2017 / Михаил Базаров
Всплывающее окно с формой обратной связи Битрикс

Подскажите почему может не работать скрипт  BX.ajax.onload_943827 = function() {           setTime...

19.07.2017 / Рима Уколова
Вывести товары из того же раздела в карточке товара

Михаил, скажите пожалуйста, этот метод еще актуален? Никак не могу передать ни id ни символьный код,...

19.07.2017 / Алексей Сель

© 2011—2017 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.

Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой.
Политика конфеденциальности

x
Как к Вам обращаться? *
Ваша электронная почта: *
Доп. материалы (логотип, тех. задание):
 
Обзор
Текст сообщения:

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