1С-Битрикс
0
Вклад в тег
$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;