Сделайте отложенный метод.
Ровно так, как работают нативные крошки.
Например:
// свойство ещё не установлено - будет пусто
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') . '" ';