Здравствуйте.
Задача: при одинаковых URL товаров показывать разные хлебные крошки при переходе с различных категорий, в которых есть товар.
Соответсвенно, при если переход с категории, в котором товара нет, то показываются хлебные крошки основного раздела.
Возможно ли это реализовать как то в рамках функционала bitrix, без использования подобного кода (добавляется в шаблоне хлебных крошек и подменяет arResult с массивом хлебных крошек)???
Заранее спасибо.
[CODE]if (isset($_SERVER['HTTP_REFERER'])) {
$o_block_id = PRODUCTS_BLOCK_ID;
$o_referer = explode('/', $_SERVER['HTTP_REFERER']);
$o_referer_code = array_pop($o_referer);
if(empty($o_referer_code))
$o_referer_code = array_pop($o_referer);
if (GetPagePath() !== '/') {
$o_cur_page = explode('/', GetPagePath());
$o_cur_element_code = array_pop($o_cur_page);
if (empty($o_cur_element_code))
$o_cur_element_code = array_pop($o_cur_page);
if ($o_element = CIBlockElement::GetList([], ["IBLOCK_ID" => $o_block_id, 'CODE' => $o_cur_element_code])->GetNext()) {
$o_groups_db = CIBlockElement::GetElementGroups($o_element['ID']);
$o_element_sections = [];
while ($o_group_temp = $o_groups_db->Fetch())
$o_element_sections[] = $o_group_temp['ID'];
$o_section = CIBlockSection::GetList(Array(), ["IBLOCK_ID" => $o_block_id, 'CODE' => $o_referer_code])->GetNext();
if (in_array($o_section['ID'], $o_element_sections )) {
$o_referer = CIBlockSection::GetNavChain($o_block_id, $o_section['ID'], ['NAME', 'SECTION_PAGE_URL']);
$o_new_chain = [];
while ($o_ref_chain = $o_referer->GetNext()) {
$o_new_chain[] = ['TITLE' => $o_ref_chain['NAME'], 'LINK' => $o_ref_chain['SECTION_PAGE_URL']];
}
if (!empty($arResult))
array_unshift($o_new_chain, array_shift($arResult));
if (!empty($arResult))
array_push($o_new_chain, array_pop($arResult));
$arResult = $o_new_chain;
}
}
}
}[/CODE]