Bitrix: GetProperty не работает в header.php

У битрикса есть небольшая беда, его же $APPLICATION->GetProperty не работает в header.php, и все пользовательские свойства страницы считываются или в контенте или в footer.php, что не всегда устраивает.

Например нужно создать кастомный h1, который обычно живет себе спокойно в header.php и мы его получаем через $APPLICATION->GetTitle(). Тогда на помощь придёт совет с предыдущей статьи. Мы просто в контенте сделаем замену и поисковик ничего не узнает о изначальном заголовке. Алгоритм такой же как и в статье «Кросс-линкинг на весь сайт»

А вот и код:
AddEventHandler("main", "OnEndBufferContent", "ChangeMyContent");
function ChangeMyContent($content){
	GLOBAL $APPLICATION;
	$h1 = $APPLICATION->GetProperty("h1");
	if (!empty($h1))
		$content = str_replace("<h1>".$APPLICATION->GetTitle(),"<h1>".$h1,$content);
}
  • 0
  • 26 марта 2011, 13:49
  • admin