Решение для отложенного вывода контента в CMS 1С-Битрикс. Позволяет буферизировать любой блок на странице и вывести его выше по коду, например в шапке сайта.
\\ Подключаем файл решения в /bitrix/php_interface/init.php
include($_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/content_buffered.php');
\\ В месте где будет выводится буферизированный контент
\\ создаём объект буферизированного контента и выводим его
\\ содержимое (которое пока не задано).
$GLOBALS['CONTENT'] = new ContentBuffered();
ShowContent($GLOBALS['CONTENT']);
\\ Теперь в любом месте ниже по коду мы можем буферизировать
\\ контент, который должен быть вставлен выше по коду. Для этого
\\ необходимо заключить желаемый контент между вызовами функций
\\ StartContent() и EndContent()
<?php $GLOBALS['CONTENT']->StartContent(); ?>
<p>Контент может быть любым</p>
<div>
Любую часть страницы можно буферизировать и отложено вывести.
В этом случае данная часть будет исключена из основного потока
страницы и вставлена в то место где вызвана функция ShowContent();
</div>
<?php $APPLICATION->IncludeComponent("bitrix:breadcrumb", "main", Array(
"START_FROM" => "0",
"PATH" => "",
"SITE_ID" => "s1",
),
false
);?>
<?php $GLOBALS['CONTENT']->EndContent(); ?>