Answer the question
In order to leave comments, you need to log in
How to remove the navigation chain ("breadcrumbs") from a specific page in Bitrix?
There is a common navigation chain for the entire site written in header.php. But, on a specific page, you need to remove the general navigation chain and display a separate one. I display a separate chain on the page by adding the "bitrix:breadcrumb" component, but the general chain written in the template also remains. If you add to the page: $APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y"); then all chains are removed, including the separately added one. How to remove from this page only the general navigation chain written in the template?
Answer the question
In order to leave comments, you need to log in
Make a deferred method.
Exactly how native crumbs work.
For example:
// свойство ещё не установлено - будет пусто
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') . '" ';
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question