Просмотров: 67801
Дата последнего изменения: 24.10.2020
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Недоступно в лицензиях:
Ограничений нет
Усовершенствованные методы буферизации в шаблоне позволяют более не использовать 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.