Отложенные функции
Разработчики сайтов на Битрикс, хорошо знакомы с отложенными функциями. Отложенные функции представляю из себя буферизацию, в любом месте шаблона, компонента, можно вызвать $APPLICATION->ShowViewContent
, затем используя методы шаблона SetViewTarget/EndViewTarget
или $APPLICATION->AddViewContent
, добавить верстку в отложенную область. Не важно в какой момент будет добавлена верстка, главное, чтобы это было сделано в рамках одного хита.
Если посмотреть на код шаблона сайта /bitrix/templates/bitrix24
, можно увидеть вызовы ShowViewContent
. Штатные компоненты системы используют эти отложенные области для встраивания своих элементов, важно понимать что и мы тоже можем добавлять свою верстку!
Важно понимать, этот метод дает нам недокументированную возможность. Это значит, названия областей могут измениться со временем без предупреждения.
В качестве примера добавим свою кнопку:
Следующий код можно запустить из init.php
:
init.php<?
// пространство имен UI библотеки
use Bitrix\Main\UI\Extension;
// подключаем расширения стили кнопок
Extension::load('ui.buttons');
// подключаем расширения иконки для кнопок
Extension::load('ui.buttons.icons');
// добавляем кнопку
ob_start();
?>
<div class="pagetitle-container" style="margin-bottom: 10px;">
<a href="#" class="ui-btn ui-btn-light-border ui-btn-icon-info">Hmarketing</a>
</div>
<?
$customHtml = ob_get_clean();
$APPLICATION->AddViewContent('topblock', $customHtml, 20000);
Кнопку мы создаем с помощью модуля UI
библотеки. Сначала подключаем расширения для стилей кнопок ui.buttons
и расширения иконки для кнопок ui.buttons.icons
с помощью класса Extension
главного модуля. После этого необходимые стили будут загружены браузером. Саму кнопку формируем с помощью HTML.
Кнопку добавляем с помощью $APPLICATION->AddViewContent
. Обратите внимание на третий аргумент. Это значение сортировки. Задавать его необязательно, но с его помощью вы можете регулировать положение вашего элемента относительно других в этой области.