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

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

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

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

Цитата | ||||
---|---|---|---|---|
mtsub написал:
|
В /catalog/ вывод не всего компонента catalog а только catalog.section (главное правилььно на строить)
А вот в /element/ можно весь catalog
Но, важно: что бы не было дубликатов страниц (для поисковиков) в section.php каталога лучше все удалить или сделать редирект в раздел /catalog/
PS: Пояснил достаточно кратко, там много нюансов в плане СЕО- при таком подходе. Делайте внимательно и вдумчиво
Мне нужно помощь с выводом товара в карточке товара того же раздела.
Добавил в component_epilog.php нужный компонент, в строке SECTION_CODE прописал, но все равно выводится весь товар.
Код |
---|
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], Н |

Цитата |
---|
s.rudko@100systems.com Rudko пишет: Здравствуйте. Первое, что хочу написать, спасибо вам за то, что вы делаете - это очень круто. Мне нужно помощь с выводом товара в карточке товара того же раздела. Добавил в component_epilog.php нужный компонент, в строке SECTION_CODE прописал, но все равно выводится весь товар. [CODE] "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], Н [/CODE] |
$arResult["SECTION_CODE"]
Я в программировании полный профан. Поэтому ничего и не выходит.
Я не могу понять, если в component_epilog.php не передается этот параметр
Цитата |
---|
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], |
Если у вас будет возможность помочь, то я был бы очень благодарен.
Скрытый текст | ||
---|---|---|
|

Просто, скопируйте в самый низ, под вывод карточки, компонент вывода раздела из section.php
В него и передайте
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
Позже дополню заметку этим способом. Он даже, как то более логичнее и правильнее- чем через component_epilog
Во всяком случае, более управляемый прямо из настроек компонента.
Цитата |
---|
Этот параметр есть в element.php который выводит подробную карточку товара Просто, скопируйте в самый низ, под вывод карточки, компонент вывода раздела из section.php В него и передайте "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], Позже дополню заметку этим способом. Он даже, как то более логичнее и правильнее- чем через component_epilog Во всяком случае, более управляемый прямо из настроек компонента. |

Цитата |
---|
Игорь написал: Код рабочий, все получилось, товар из того же раздела выводит корректно. НО! При добавлении блока "товаров из того же раздела" меняется заголовок h1 и Title браузера, он становиться равным разделу, в котором находится товар. Как исправить, что бы выводились товары из того же раздела, но название товара отображалось верное |
Код |
---|
"ADD_SECTIONS_CHAIN" => "N", // не добавлять в цепочку "SET_TITLE" => 'N', // не ставить заголовок "BROWSER_TITLE" => 'N', // не ставить заголовок браузера |