Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Цепочка навигации. Элемент без линка. Как сделать?

00 голосов
2
Имеем разделы сайта (не инфоблоки) у которых есть пользовательское свойство. Надо, что бы при определенном значении пользовательского свойства элемент цепочки навигации (стандартной) не содержал линка. другими словами - например цепочка имеет вид: "разедл 1/ раздел 2/ раздел 3/". в цепочке навигации "раздел 2" надо сделать простым текстом а не гиперссылкой. пользовательское свойство для "раздел 2" установлено. в шаблоне bradcrumbs я могу получить значение этого свойства только для текущего раздела GetDirProperty("keywords");. как получить его для всех элементов цепочки навигации?

Код
for($index = 0, $itemSize = count($arResult); $index < $itemSize; $index++)
{


   if($index > 0)
        $strReturn .= '<li><span class="breadcrumb-stik">    |    </span></li>';

   $title = htmlspecialcharsex($arResult[$index]["TITLE"]);

   if($arResult[$index]["LINK"] <> ""){
      $strReturn .= '<li><a href="'.$arResult[$index]["LINK"].'" title="'.$title.'">'.$title.'</a></li>';

                echo CMain::GetDirProperty("breadcrumbs_link",$arResult[$index]["LINK"]); 

}
   else
      $strReturn .= '<li>'.$title.'</li>';
}


вот этот код
Код
 echo CMain::GetDirProperty("breadcrumbs_link",$arResult[$index]["LINK"]); 


всегда выдает значения свойства для текущего раздела а не для разных. сайт один. корневая директория - "/"
спросил 13 Фев, 14 от ParyJlb (100 баллов)

2 Ответы

00 голосов
Стандартно нет такого функционала. Для статических папок и страниц можно либо включать ссылку в путь, либо не включать.
В шаблоне bradcrumbs может быть CMain::GetDirPropertyList поможет:
"Возвращает массив свойств раздела, собранных рекурсивно до корня сайта."
http://dev.1c-bitrix.ru/api_help/main/reference/cmain/getdirpropertylist.php
ответил 03 Июль, 14 от Siemka (1,020 баллов)
00 голосов
Роман Забродин,
к сожалению я так понимаю, что рекурсивно собираются те свойства вышестоящих по иерархии разделов, которые не указаны в текущем разделе. эта функция не выдает массив свойств всех разделов до корня сайта.

я конечно обойду это ограничение другим путем, но хотелось сделать правильно и красиво. мне тогда не ясно зачем функциям CMain::GetDirProperty и CMain::GetDirPropertyList указывать путь если он игнорируется?

я заметил еще один момент если я вызываю функцию CMain::GetDirProperty в шаблоне навигационной цепочки, она игнорирует указанный в аргументах путь, а если вызов осуществляю в основном шаблоне сайта то CMain::GetDirProperty отрабатывает указанный путь правильно...

к сожалению я не могу пока предоставить техподдержке доступ к сайту ибо он локально на виртуальной машине стоит...
ответил 03 Ноя, 14 от ParyJlb (100 баллов)

Похожие вопросы

0 голосов
3 ответов
спросил 23 Дек, 13 от eskote (100 баллов)
0 голосов
5 ответов
0 голосов
2 ответов
спросил 06 Май, 14 от QIz (100 баллов)
0 голосов
3 ответов
спросил 15 Март, 14 от Icekalt (100 баллов)
0 голосов
1 ответ
спросил 22 Янв, 14 от Kania (5,180 баллов)