Не забываем подключать файл в шаблоне хлебных крошек.
Для этого в самом начале шаблона, сразу после подключения пролога, добавляем строчку:
include_once 'result_modifier.php';| <?if(!defined('B_PROLOG_INCLUDED') && B_PROLOG_INCLUDED !== true) die();?> | |
| <? global $APPLICATION; | |
| // Подменяем название раздела в хлебных крошках. | |
| for ($i=1; $i < count($arResult); $i++) { | |
| // Разбираем путь до раздела в массив. Отбрасывая пустые элементы. | |
| if ($arResult[$i]['LINK']) { | |
| $section_url = array_values(array_filter(explode('/', $arResult[$i]['LINK']), function($element) { return !empty($element); })); | |
| } else { | |
| $section_url = ''; | |
| $element_url = array_values(array_filter(explode('/', $APPLICATION->GetCurDir()), function($element) { return !empty($element); })); | |
| } | |
| // Если мы в разделе | |
| if (count($section_url) > 2) { | |
| // Берём последний элемент массива. Это и есть символьный код раздела. | |
| $section_code = array_pop($section_url); | |
| //Используем метод для определения id раздела по его символьному коду. | |
| $section_id = CIBlockFindTools::GetSectionID($sid, $section_code); | |
| if($section_id && $section_id != 0) { | |
| //Получаем название раздела из его свойств по id раздела. | |
| $res = CIBlockSection::GetByID($section_id); | |
| if($ar_res = $res->GetNext()) { | |
| $section_name = $ar_res['NAME']; | |
| } | |
| // Подменяем название пункта хлебных крошек. | |
| $arResult[$i]['TITLE'] = $section_name; | |
| } | |
| } | |
| // Если мы в элементе | |
| if (count($element_url) > 2) { | |
| $parent_url = array_values(array_filter(explode('/', $arResult[$i-1]['LINK']), function($element) { return !empty($element); })); | |
| // $parent_code = array_pop($parent_url); | |
| for ($p=1; $p < count($parent_url); $p++) { | |
| $parent_code = $parent_url[$p]; | |
| //Используем метод для определения id раздела родителя по его символьному коду. | |
| $parent_id = CIBlockFindTools::GetSectionID($id, $parent_code); | |
| $parent_res = CIBlockSection::GetByID($parent_id); | |
| if($parent_ar_res = $parent_res->GetNext()) { | |
| $parent_name = $parent_ar_res['NAME']; | |
| } | |
| } | |
| // Берём последний элемент массива элемента. Это и есть символьный код элемента. | |
| $element_code = array_pop($element_url); | |
| //Используем метод для определения id раздела по его символьному коду. | |
| $element_id = CIBlockFindTools::GetElementID($id, $element_code, $parent_id, $parent_code); | |
| if($element_id && $element_id != 0) { | |
| //Получаем название элемента из его свойств по id элемента. | |
| $res = CIBlockElement::GetByID($element_id); | |
| if($ar_res = $res->GetNext()) { | |
| $element_name = $ar_res['NAME']; | |
| } | |
| // Подменяем название пункта хлебных крошек. | |
| $arResult[$i]['TITLE'] = $element_name; | |
| } | |
| } | |
| } | |
| ?> |