Постараюсь вам помочь, так как самому интересно стало. Вот такое решение есть у меня, ограничевается только тем что можно вставить или перед выводом основной части или после, т.е. использовать в шаблоне сайте.
В принципе логика это и просит, вот функция определения является ли страница на котрой находится пользователь статичной т.е. где нет компонент в динамической части (между header и footer)
| Код |
|---|
function isStaticPage()
{
global $APPLICATION;
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/php_parser.php");
$s_FilePatch = CSite::GetSiteDocRoot(SITE_ID).($_SERVER['SCRIPT_NAME'] == '/bitrix/urlrewrite.php') ? $_SERVER['REAL_FILE_PATH'] : $_SERVER['SCRIPT_NAME'];
$s_File = $APPLICATION->GetFileContent($s_FilePatch);
$ar_Components = PHPParser::ParseScript($s_File);
return ( count($ar_Components) > 0 ) ? false : true;
}
|
Соответственно в шаблоне пишем условие вида
| Код |
|---|
if(isStaticPage())
{
?>html...<?
}
|
P.S.
Админам,
после предварительного просмотра сообщения нажал на отправить и увидел ошибку что пост удален, вернулся назад стрелкой в браузере, сообщение добавилось. В общем где-то баг.