Работая над сторонним сайтом обнаружил там такую интересную штуку, как использование функций ShowViewContent в связке с SetViewTarget и EndViewTarget.
Если в кратце, то эта штука позволяет выводить контент, сгенерированный позже по коду в указанном месте (механизм отложенных функций). Очень удобно, когда надо, например, выводить какие-то блоки в header.php или в footer.php в зависимости от страницы. Ну для примера это может быть фильтр по каталогу, который выводится в общий левый (правый) блок сайта, или перечень похожих новостей на странице новости в такой же левый (правый) блок. При этом можно заранее указать кучу таких вот меток, а конетнт туда будет выводиться только в том случае, если он есть в буфере для этой страницы.
Пример использования:
Добавляем ссылку в h1 в шаблоне компонента header.php:
<h1> <?=$APPLICATION->ShowTitle();?> <?$APPLICATION->ShowViewContent('news_detail');?> </h1>
А в шаблон компонента добавляем:
<?$this->SetViewTarget('news_detail');?> <noindex><a rel="nofollow" class="h1-head fancy" href="/develop/change_cover_type.php"><?=$arDataFilter["NAME"]?></a></noindex> <?$this->EndViewTarget();?>Так же есть еще одна функция, которая работает с ShowViewContent - AddViewContent - она позволяет задать для ShowViewContent некоторое строчное значение.