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

Проблема с навигационными цепочками

00 голосов
6
Возникла проблема с навигационными цепочками, которую никак не могу победить.
При хождению по каталогу товаров формируется и отображается навигационная цепочка. Причем она рабочая и к ее ссылкам претензий нет.
Проблема: навигационная цепочка двойная, например:
Каталог товаров > Бакалея > Крупы > Бакалея > Крупы

Как убрать двойные ссылки в навигационной цепочке?

Сайт (где проблема) www.murmanfood.ru
спросил 14 Дек, 13 от Kristarex (100 баллов)

6 Ответы

00 голосов
хоть бы код компонета навигационной цепочки указал
ответил 16 Дек, 13 от аноним
00 голосов
У Вас 2 компонента на странице http://www.murmanfood.ru/e-store/xml_catalog/index.php?SECTION_ID=217&ELEMENT_ID=8623 , которые отвечают за добавление пунктов в навигационную цепочку. Отключить вывод навигации на одном из них. Лучше на catalog.section.list , который слева.
ответил 21 Фев, 14 от ZakonD3D (600 баллов)
00 голосов
Цитата
Виталий Соков пишет:
У Вас 2 компонента на странице http://www.murmanfood.ru/e-store/xml_catalog/index.php?SECTION_ID=217&ELEMENT_ID=8623 , которые отвечают за добавление пунктов в навигационную цепочку. Отключить вывод навигации на одном из них. Лучше на catalog.section.list , который слева.
Всем привет. Посмотрите на мою страницу:
http://icomtec.ru/articles.php?SECTION_ID=105

Та же проблема. Вопросов всего два:

1. Как заменить первую ссылку на слово "Главная"
2. Как понять какие компоненты выводят лишние ссылки в цепочке навигации? Соответственно, где отключается вывод навигации в данном компоненте?

Заранее всем спасибо!

PS Слово "Главная" добавил следующим способом:
Заменил в массиве $arResult самое первое значение на слово "Главная"

$arResult[0]["TITLE"] = "Главная";

Код
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

//delayed function must return a string
if(empty($arResult)) {
   return "";
}
$strReturn = '<table class="tbl_brdcrmb"><tr><td><span class="pageHeading">&nbsp;&nbsp;';

/* Структура массива $arResult[номер][title/link] */

for($index = 0, $itemSize = count($arResult); $index < $itemSize; $index++) {
   if($index > 0) {
      $strReturn .= ' &rsaquo; ';
   }

        $arResult[0]["TITLE"] = "Главная"; // данная строка меняет название первой ссылке в цеп. навигации вместо названия сайта на слово "Главная"

   $title = htmlspecialcharsex($arResult[$index]["TITLE"]);
   if($arResult[$index]["LINK"] <> ""&&$index<(count($arResult)-1)) {
      $strReturn .= '<a href="'.$arResult[$index]["LINK"].'" title="'.$title.'">'.$title.'</a>';
   }
   else {
      $strReturn .= $title;
   }
}
$strReturn .= '</span></td></tr></table>';
return $strReturn;
?>

 
ответил 12 Июнь, 14 от HEDERA (100 баллов)
00 голосов
Цитата
1. Как заменить первую ссылку на слово "Главная"
2. Как понять какие компоненты выводят лишние ссылки в цепочке навигации? Соответственно, где отключается вывод навигации в данном компоненте?
1. В административном разделе кликнуть на "Файлы и папки", затем вверху на панели нажать "Свойства папки" и в открывшейся форме ввести в поле "Заголовок" Главная. И не надо ничего заменять в $arResult.

2. Добавление компонентами в цепочку навигации пунктов определяется в параметрах компонента (например, галочка "Включать раздел в цепочку навигации"). Еще добавление пунктов может происходить через component_epilog.php, лежащий в шаблоне компонента, командой AddChainItem.
ответил 10 Окт, 14 от Hohat (720 баллов)
00 голосов
Цитата
Владимир Спасенников пишет:

1. В административном разделе кликнуть на "Файлы и папки", затем вверху на панели нажать "Свойства папки" и в открывшейся форме ввести в поле "Заголовок" Главная. И не надо ничего заменять в $arResult.

2. Добавление компонентами в цепочку навигации пунктов определяется в параметрах компонента (например, галочка "Включать раздел в цепочку навигации";). Еще добавление пунктов может происходить через component_epilog.php, лежащий в шаблоне компонента, командой AddChainItem.
Спасибо большое! Двойные ссылки в цепочке навигации убрал, а вот первая проблема осталась. Менял в свойствах папки названия, но почему-то все без изменений. Поэтому оставил пока замену первой записи в массиве $arResult на слово "Главная".
ответил 10 Фев, 15 от HEDERA (100 баллов)
00 голосов
Никак не могу добавить новый пункт в цепочку навигации

Шаблон выглядит так:

Код
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

//delayed function must return a string
if(empty($arResult))
    return "";

$strReturn = '<ul class="breadcrumb-navigation">';

for($index = 0, $itemSize = count($arResult); $index < $itemSize; $index++)
{
    if($index > 0)
        $strReturn .= '<li><span>&nbsp;>&nbsp;</span></li>';

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

$strReturn .= '</ul>';
return $strReturn;
?>




Цепочка сейчас выглядит так:


Главная > Все услуги > Наследство > О наследовании по завещанию

Нужно добавить пункт, чтобы стало так:

Главная > Все услуги > Наследство > Наследственные споры > О наследовании по завещанию


Из документации я так понял, что в шаблон нужно вставить строчку:

Код
$APPLICATION->AddChainItem("Наследственные споры ", "/nasledstvennye-spory.php");



Но куда именно? Перепробовал по всякому, не получается…
ответил 23 Май, 15 от Saflora (100 баллов)

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

0 голосов
1 ответ
спросил 16 Март, 15 от аноним
0 голосов
1 ответ
спросил 06 Окт, 13 от аноним
0 голосов
3 ответов
спросил 08 Май, 14 от HuT (100 баллов)
0 голосов
0 ответов
спросил 06 Май, 14 от Ris (280 баллов)