Как в битриксе убрать навигационную цепочку(«хлебные крошки») с конкретной страницы?

Есть общая навигационная цепочка на весь сайт прописанная в header.php. Но, на конкретной странице необходимо убрать общую навигационную цепочку и вывести отдельную. Отдельную цепочку на странице вывожу добавлением компонента «bitrix:breadcrumb», но при этом общая цепочка прописанная в шаблоне также остаётся. Если на страницу добавить: $APPLICATION->SetPageProperty(«NOT_SHOW_NAV_CHAIN», «Y»); то убираются все цепочки включая отдельно добавленную. Как с этой страницы убрать только общую навигационную цепочку прописанную в шаблоне?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как перенести навигационную цепочку (хлебные крошки) с главной страницы во внутренние?
Доброго Всем времени суток! Подскажите начинающему,как перенести навигационную цепочку(хлебные.
Убрать хлебные крошки с главной
День добрый джумла 1.5 ; нужно убрать хлебные крошки с главной http://teslalight.com.ua/ , что бы.

Как настроить хлебные крошки
Добрый день. Как добавить категорию в хлебные крошки? Сейчас в сайте так (Главная / Название.
Как сделать хлебные крошки на php
Привет всем. Хочу сделать хлебные крошки (Новичек) Нашел вот такой код function navigation()
451 / 417 / 115
Регистрация: 15.02.2012
Сообщений: 1,833
Прописать вокруг нее условие, что отображаем если не на странице такой-то. Например так:
1 2 3
if ($_SERVER['PHP_SELF'] != '/index.php') {//не главная $APPLICATION->IncludeComponent("bitrix:breadcrumb", . }
Регистрация: 21.03.2019
Сообщений: 8
Ещё вариант в файле heder шаблона делать подключение хлебных крошок исключая не нужную страницу через
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
$pagepart = explode("/", $APPLICATION->GetCurPage(false)); $razd = array(); foreach ($pagepart as $val) < if ($val) $razd[] = $val; > if (!empty($razd) && $razd[0] != "catalog" && $razd[0] != "personal") { ?> ** $APPLICATION->IncludeComponent( "bitrix:breadcrumb", "main", Array( "START_FROM" => "0", "PATH" => "", "SITE_ID" => "s1", ), false ); ?> } ?>
2286 / 1189 / 241
Регистрация: 16.03.2008
Сообщений: 5,733
Записей в блоге: 2
Несколько коментов:
Разложить uRL на составляющие (а точнее разбить строку по признаку исключая его в начале и конце можно проще
$razd = explode("/", trim($APPLICATION->GetCurPage(false),'/'));
Есть еще метод CSite::InDir, но его использовать лучше только если проверка на один каталог, иначе будет на каждый вызов парсится URL.
Mad-medved, уточните задачу. Как я понял вам надо убирать не всю цепочку, а только ее часть и задавать кастомную. В этом случае надо смотреть настройки компонента подключенного на этой странице (который их достраивает) и выключить в его натсройках вывод хлебных крошек. И добавить свои пункты в цепочку через АПИ. CMain::AddChainItem (не забываем только про кеширование и если это производится внутри шаблона компонента, то это должно быть в component_epilog.php
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как сделать «карсивые» хлебные крошки
Привет, гуру Я. Хотел узнать, как можно обучить Яшу выдавать такие "хлебные крошки" (зелёным) .

Как можно выровнять хлебные крошки?
Сайт на WordPress. www.unive.com.ru Хлебные крошки при изменении размера окна браузера.
Как настроить хлебные крошки, чтобы на главной ничего не выводилось?
Как настроить хлебные крошки, чтобы на главной ничего не выводилось? Добавлено через 14 минут А.
Справочники главный и подчиненный, хлебные крошки и как это все сделать?
Django 1.9.7 Делаю основной и подчиненный справочник: Основной — Место и к нему подчиненный -.
Как в Yii сделать хлебные крошки в виде ссылок, используя NestedSet?
Добрый день, Сделал такую функцию в модели: static function getBreadcrumbs($id)< .
Или воспользуйтесь поиском по форуму:
Как скрыть навигационную цепочку bitrix

2016-06-17T09:06 17 июн 2016 09:06
Просмотров: 7024
Если вам не нужно показывать навигационную цепочку на какой либо странице, вам достаточно вставить в теле страницы код, инициализирующий свойство страницы «NOT_SHOW_NAV_CHAIN» значением «Y«:
$APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y");
Чтобы убрать на странице нужно в index.php добавить свойство:
$APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y");
Если вам надо убрать хлебные крошки по всему сайту, оставив только в каталоге, то проще всего сделать так.
1) Отредактируйте .section.php в корне сайта:
. $arDirProperties = Array( "NOT_SHOW_NAV_CHAIN" => "Y",
2) Отредактируйте .section.php в разделе каталога:
$arDirProperties = Array( "NOT_SHOW_NAV_CHAIN" => "N",
Как в битриксе убрать навигационную цепочку(«хлебные крошки») с конкретной страницы?
Есть общая навигационная цепочка на весь сайт прописанная в header.php. Но, на конкретной странице необходимо убрать общую навигационную цепочку и вывести отдельную. Отдельную цепочку на странице вывожу добавлением компонента «bitrix:breadcrumb», но при этом общая цепочка прописанная в шаблоне также остаётся. Если на страницу добавить: $APPLICATION->SetPageProperty(«NOT_SHOW_NAV_CHAIN», «Y»); то убираются все цепочки включая отдельно добавленную. Как с этой страницы убрать только общую навигационную цепочку прописанную в шаблоне?
- Вопрос задан более трёх лет назад
- 1805 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2
Bitrix developer
Сделайте отложенный метод.
Ровно так, как работают нативные крошки.
Например:
// свойство ещё не установлено - будет пусто echo '"' . $APPLICATION->GetPageProperty('NOT_SHOW_NAV_CHAIN_CUSTOM') . '" '; // этот метод лучше определить где-нибудь в подключаемых классах class BufferMethods < public static function showCustomChain($chain) < global $APPLICATION; if ($APPLICATION->GetPageProperty('NOT_SHOW_NAV_CHAIN_CUSTOM') === 'Y') < return $chain; >else < return ''; >> > // буферизируем Ваши хлебные крошки. Их не будет видно, они попадут в переменную $strChain ob_start(); echo 'Здесь лежит компонент хлебных крошек, который будет появляться и исчезать в зависимости от значения NOT_SHOW_NAV_CHAIN_CUSTOM'; $strChain = ob_get_clean(); // свойство ещё не установлено, но мы используем отложенную функцию, значит будет результат в зависимости от значения $APPLICATION->AddBufferContent(['BufferMethods', 'showCustomChain'], $strChain); // свойство наконец установлено $APPLICATION->SetPageProperty('NOT_SHOW_NAV_CHAIN_CUSTOM', 'Y'); // свойство уже установлено - будет значение echo ' "' . $APPLICATION->GetPageProperty('NOT_SHOW_NAV_CHAIN_CUSTOM') . '" ';
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

Прописать в шаблоне
if(!defined('CUSTOM_NO_BREADCRUMBS')) < // подключение крошек >
а на нужной странице перед включением header.php
define(‘CUSTOM_NO_BREADCRUMBS’, true);
Ответ написан более трёх лет назад
Это костыль.
Так лучше не делать, т.к. изменить данный параметр контентщик в последствии сможет только через файловую систему, а свойства страницы, подобные NOT_SHOW_NAV_CHAIN, доступны ему в стандартном функционале админской панели.
Делать нужно через свойства и отложенные функции.

Kudis, если ратовать за аккуратность, то и вам стоит в ответе использовать не global $APPLICATION, а Application::getInstance().
Adamos, не уверен, что команда битрикс реализовала GetPageProperty для D7, но посмотрю обязательно, спасибо!
UPD: Посмотрел! Увы в данном случае только через global $APPLICATION или $GLOBALS[‘APPLICATION’] (но второе не канонично)
Как в битриксе убрать навигационную цепочку(«хлебные крошки») с конкретной страницы?
Есть общая навигационная цепочка на весь сайт прописанная в header.php. Но, на конкретной странице необходимо убрать общую навигационную цепочку и вывести отдельную. Отдельную цепочку на странице вывожу добавлением компонента bitrix:breadcrumb , но при этом общая цепочка прописанная в шаблоне также остаётся.
Если на страницу добавить:
$APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y");
, то убираются все цепочки включая отдельно добавленную. Как с этой страницы убрать только общую навигационную цепочку прописанную в шаблоне?
Отслеживать
51.6k 201 201 золотой знак 65 65 серебряных знаков 247 247 бронзовых знаков