Включаемая область
Оригинальное название: include area
Коротко
Фрагмент страницы в 1С-Битрикс, который хранится в отдельном файле и подключается в шаблон, — например телефон в шапке или текст в подвале.
Что такое «Включаемая область»
Задача, которую она решает, знакома каждому, кто передавал сайт заказчику: телефон в шапке, режим работы, адрес и баннер акции должны меняться без программиста, но жить они должны внутри шаблона сайта. Если вписать их прямо в код шаблона, контент-менеджеру придётся править PHP. Включаемая область выносит такой блок в отдельный файл, который открывается для правки в визуальном редакторе прямо с публичной страницы.
Подключает область стандартный компонент bitrix:main.include. В режиме правки вокруг неё появляется рамка с кнопкой «Изменить», а файл с содержимым редактируется как обычная страница.
Три режима подключения
- Файл — указывается конкретный путь, например
/include/phone.php. Один файл на весь сайт: поправили телефон — он изменился везде. - Страница — для каждой страницы свой файл с суффиксом, по умолчанию
about_inc.phpрядом сabout.php. - Раздел — файл
sect_inc.phpв папке раздела. С включённым рекурсивным поиском подразделы без своего файла берут содержимое у родителя.
Пример подключения в шаблоне
<?php $APPLICATION->IncludeComponent(
'bitrix:main.include',
'',
[
'AREA_FILE_SHOW' => 'file',
'PATH' => SITE_DIR . 'include/phone.php',
]
); ?>
Внутри phone.php лежит только разметка с номером, без логики. Константа SITE_DIR нужна, чтобы на многосайтовой установке у каждого сайта был свой файл.
На что обратить внимание
Режим «раздел» с наследованием удобен для боковых врезок, но коварен: правка файла в корне раздела меняет блок на всех вложенных страницах, о чём редактор может не подозревать. Ещё одна ловушка — PHP-код внутри включаемой области. Визуальный редактор может его испортить, поэтому динамику лучше держать в компонентах, а в области оставлять только текст и простую разметку. Как устроены шапка и подвал, в которые встраиваются области, описано в статье о шаблоне сайта Битрикс; права на правку областей стоит выдать контент-менеджеру отдельно от доступа к коду.

