Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (3)

Лучшие ответы пользователя

Все ответы (3)
  • Битрикс. Как вывести пользовательское свойство в хлебных крошках?

    @krang13 Автор вопроса
    Ну все, решил. Спасибо тебе, добрый человек! Без твоей помощи б никуда не ушел.
    Выкладываю готовый код шаблона хлебных крошек с решенной задачей для следующего поколения чайников. При этом не трогал сам компонент, только шаблон!
    $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>&nbsp;&gt;&nbsp;</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;

    Рабочий код! Еще раз спасибо, Васильев!
    Ответ написан
    3 комментария

Лучшие вопросы пользователя

Все вопросы (3)