//$arResult - массив на входе в result_modifier.php
$iblock_id = 0; //мы должны знать ID инфоблока каталога
$custom_name = 'CUSTOM_TITLE'; //символьный код свойства для кастомного тайтла
if(CModule::IncludeModule("iblock")){
foreach ($arResult['ITEMS'] as $key => $value) {
$link = $value['LINK']; //Допустим, что у нас ЧПУ вида /catalog/section_code
$section_code = str_replace('/catalog/', '', $link); //можно придумать что-то поизящнее, наверное
$dbSection = CIBlockSection::GetList(
array("SORT"=>"ASC"),
array(
"IBLOCK_ID" => $iblock_id,
"CODE" => $section_code
),
false,
array('PROPERTY_'.$custom_name)
);
if ($arSection = $dbSection->GetNext()){
$new_name = $arSection['PROPERTY_'.$custom_name.'_VALUE'];
$arResult['ITEMS'][$key]['NAME'] = $new_name;
}
}
}
$strReturn = '<ul class="breadcrumb-navigation" xmlns:v="http://rdf.data-vocabulary.org/#">';
for($index = 0, $itemSize = count($arResult); $index < $itemSize; $index++)
{
if($index > 0) {
$strReturn .= '<li><span> > </span></li>';
$cutLink=explode("/", $arResult[$index]["LINK"]);//разбиваем путь на SECTION_CODE
$cnt=count($cutLink);//считаем количество элементов массива
$numSecNow=$cnt-2;//номер текущего (чпу со "/" на конце, поэтому -2)
$secNow=$cutLink["$numSecNow"];//нужный нам SECTION_CODE
}
else $secNow="first";//не обязательно ваще
//тут чудо-код нашего друга. спс за него!
$iblock_id = 1; //мы должны знать ID инфоблока каталога
$custom_name = 'UF_ALT_NAME'; //символьный код свойства для кастомного тайтла
if(CModule::IncludeModule("iblock")){
$dbSection = CIBlockSection::GetList(
array("SORT"=>"ASC"),//сортировка по возрастанию. нам все равно
array(
"IBLOCK_ID" => $iblock_id,//ищем наше свойство по ID инфоблока
"CODE" => $secNow//и по найденному SECTION_CODE
),
false,//хз че
array($custom_name)//тут собсно то, что нам нужно достать
);
if ($arSection = $dbSection->GetNext()){
$new_name = $arSection["$custom_name"];
}
}
$title = htmlspecialcharsex($arResult[$index]["TITLE"]);//из стандартного шаблона
if ($new_name) {//если нашли, что нам нужно, присваиваем его
$name=$new_name;
}
else {//если нет - оставляем стандартный
$name=$title;
}
if($arResult[$index]["LINK"] <> ""&&$index<(count($arResult)-1))//уже попсовый костыль, чтоб последняя крошка была без ссылки
$strReturn .= '<li><span typeof="v:Breadcrumb"><a href="'.$arResult[$index]["LINK"].'" title="'.$title.'" rel="v:url" property="v:title">'.$name.'</a><span></li>';
else
$strReturn .= '<li>'.$name.'</li>';
}
$strReturn .= "</ul> ";//$str
return $strReturn;
$arResult['ITEMS'][$i]['PROPERTIES']['SOMETHING'];
и значение его будет лежать тут: $arResult['ITEMS'][$i]['PROPERTIES']['SOMETHING']['VALUE'];
array('PROPERTY_'.$custom_name)
//будет так?
array('UF_ALT_NAME')
//а вместо
$new_name = $arSection['PROPERTY_'.$custom_name.'_VALUE'];
//сработает?
$new_name = $arSection['UF_ALT_NAME'];