Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!
Это не будет работать принципиально.
Так как сначала постороится шаблон, в котором переменная DontShowTitle будет неопределена, а только потом этой переменной присвоится значение yes.
В данной ситуации необходимо, чтобы переменная была определена перед вызовом header - а это уже ручками определяется и никак не через API.
Поиск по форуму может помочь, потому что данную тему уже не один раз поднимали.
Anton Ezhkov пишет:
Необходимо использовать технологию отложенных функций
В данном случае, совет Антона совершенно правильный.
Немного поясню.
Функция GetProperty возвращает свойство раздела, которое уже известно на момент сборки страницы, и поэтому может быть проверено в шаблоне.
Свойство страницы так проверить не получится, потому что GetPageProperty не является отложенной функцией, а значение свойства страницы вообще может быть установлено из какого-нибудь компонента на странице.
Использование технологиии отложенных функций позволяет произвести проверку свойства страницы. Пример того как организуется подобная схема можно найти в описании функции:
Во! Вспомнил вчера как я решал такую ситуацию!
На самом деле все очень просто!
В хедере пишем в нужном месте где ходим выводить какую-то информацию в зависимости от переменной DontShowTitle:
<? $APPLICATION->ShowProperty("pageh1"); ?>
далее идем в самый конец футера (для надежности) и вставляем такой год:
<?
if ($APPLICATION->GetProperty("DontShowTitle") != 'yes')
$APPLICATION->SetPageProperty("pageh1", "<h1>".$APPLICATION->ShowTitle()."</h1>");
else
$APPLICATION->SetPageProperty("pageh1", "");
?>
вот и все. гораздо проще чем делать свои отложенные функции.