Перейти к содержанию

Как вывести произвольный контент в шаблоне сайта и компонента

Усовершенствованные методы буферизации в шаблоне позволяют более не использовать CBitrixComponentTemplate::EndViewTarget() ввиду того, что конец шаблона вызывает завершение буферизации автоматически.

Описанные ниже способы по своей сути похожи на Включаемые области. Только Включаемая область это файл подключаемый в шаблоне сайта, а указанные методы - это область, которая формируется в коде шаблона.

Можно использовать как в шаблоне сайта, так и в шаблоне компонента.

Теперь есть поддержка стандартного кеширования в компонентах.

  • template.php:

<?$this->SetViewTarget("sidebar");?>

  <div class="element-filter">
      <!--вывод фильтра -->
  </div>

<?$this->EndViewTarget();?>

<div class="element-list">
  <!--вывод списка -->
</div>
- header.php:

<div id="sidebar">
  <?$APPLICATION->ShowViewContent("sidebar")?>
</div>

Методы, доступные в шаблоне (через $this)

  • CBitrixComponentTemplate::SetViewTarget($view, $pos)
  • CBitrixComponentTemplate::EndViewTarget()

Методы глобального объекта $APPLICATION

где:

  • $view – идентификатор буферизируемой области;
  • $content – буферизируемый контент;
  • $pos – сортировка вывода контента.

Примечание: одному идентификатору $view может соответствовать несколько буферов. Последовательность вывода контента определяется сортировкой $pos.