Компонент "bitrix:catalog.element" добавляет разделы вцепочку навигации после исполнения шаблона. Поэтому все махинации с добавление новых элементов цепочки навигации внутри шаблона добавляют наши элементы перед разделами. А нам надо, что бы товары добавлялись в самый конец.
Что можно сделать? Я решил это следующим способом.
1) В файле шаблона "catalog\templates\.default\element.php" ДО вызова компонента "bitrix:catalog.element" добавляем код:
Код |
---|
global $goods_chain_info;
$goods_chain_info = false; |
2) В шаблоне компонента "bitrix:catalog.element" (catalog\templates\.default\bitrix\catalog.element\.default\template.php) добавляем код:
Код |
---|
global $goods_chain_info;
if(is_array($arResult) && isset($arResult['NAME']) && isset($arResult['DETAIL_PAGE_URL']))
{
$goods_chain_info = array(
'NAME' => $arResult['NAME'],
'DETAIL_PAGE_URL' => $arResult['DETAIL_PAGE_URL']
);
}
|
3) В файле шаблона "catalog\templates\.default\element.php" ПОСЛЕ вызова компонента "bitrix:catalog.element" добавляем код:
Код |
---|
//Добавляем товар в карту разделов
if(is_array($goods_chain_info) && isset($goods_chain_info['NAME']) && isset($goods_chain_info['DETAIL_PAGE_URL']))
{
$APPLICATION->AddChainItem($goods_chain_info['NAME'], $goods_chain_info['DETAIL_PAGE_URL']);
} |