Документация для разработчиков
Темная тема

IncludeFile

Описание и параметры

CMain::IncludeFile(
	string path,
	array params = array(),
	array function_params = array()
)

Метод является основой для подключения каких либо файлов в теле страницы, в прологе или в эпилоге и для подключения компонентов. Визуальное содержимое подключенного файла представляет из себя включаемую область. Нестатический метод.

Параметры

ПараметрОписание
path Путь к подключаемому файлу.

Если в данном параметре задан путь к файлу от корня сайта, то этот файл и будет подключен. Если такого файла не существует, то при нажатии на панели управления кнопки "Показать включаемые области", в месте, где указан данный метод, будет показана голубая иконка, ссылка с которой ведет на административную страницу создания нового файла по указанному пути.

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

Если же в данном параметре задан путь к основному файлу компонента, то он будет найден и подключен по следующему алгоритму:
  1. Сначала файл будет искаться в каталоге
    /bitrix/templates/ID текущего шаблона сайта/path
  2. Если файл не найден, он будет искаться в каталоге
    /bitrix/templates/.default/path
  3. Затем если файл не найден, он будет искаться дистрибутиве модуля, т.е. в следующем каталоге:
    /bitrix/modules/ID модуля/install/templates/path,
    здесь ID модуля - это первый подкаталог в path
params Массив параметров для подключаемого файла. Структура данного массива:
array(
	"ИМЯ_ПАРАМЕТРА_1" => "ЗНАЧЕНИЕ_ПАРАМЕТРА_1", 
	"ИМЯ_ПАРАМЕТРА_2" => "ЗНАЧЕНИЕ_ПАРАМЕТРА_2", 
	...
)
В подключаемом файле будут инициализированы переменные, имена которых - ключи данного массива, а значения - соответствующие значения данного массива. Данная операция выполняется стандартной PHP функцией extract(params).
function_params Массив настроек данного метода, с ключами:
  • SHOW_BORDER - показывать ли рамку и иконки для редактирования, допустимы следующие значения:
    • true - показать рамку при нажатии на панели кнопки "Показать включаемые области" (значение по умолчанию)
    • false - не показывать рамки
  • NAME - текст всплывающей подсказки на иконке редактирования
  • LANG - двухсимвольный идентификатор языка в котором будет открыт административный раздел в момент редактирования файла (по умолчанию - язык текущего сайта)
  • BACK_URL - куда вернуться после редактирования (по умолчанию - текущая публичная страница)
  • WORKFLOW - участвует ли подключаемый файл в документообороте, возможны следующие значения:
    • true - ссылка ведущая на редактирование будет указывать на страницу модуля документооборота
    • false - ссылка ведущая на редактирование будет указывать на страницу модуля управления статикой (значение по умолчанию)
  • MODE - режим редактирования, допустимы следующие значения:
    • text - файл будет редактироваться как текст (ссылка на страницу редактирования файла в режиме текста)
    • html - файл будет редактироваться как HTML (ссылка на веб-редактор)(значение по умолчанию)
    • php - файл будет редактироваться как PHP (ссылка на страницу редактирования исходников файла) 
  • TEMPLATE - если в параметре path указан абсолютный путь к несуществующему файлу, то здесь необходимо указать имя файла-шаблона для создания нового файла (по умолчанию - первый шаблон в порядке сортировки задаваемой в файле: /bitrix/templates/ID текущего шаблона сайта/page_templates/.content.php)

Примеры

Пример подключения компонента на странице


<?
// компонент выводящий детально элемент инфо-блока
$APPLICATION->IncludeFile("iblock/catalog/element.php", Array(
	"IBLOCK_TYPE"       => "catalog",                          // Тип инфо-блока
	"IBLOCK_ID"         => "21",                               // Инфо-блок
	"ELEMENT_ID"        => $_REQUEST["ID"],                    // ID элемента
	"SECTION_URL"       => "/catalog/phone/section.php?",      // URL ведущий на страницу с содержимым раздела
	"LINK_IBLOCK_TYPE"  => "catalog",                          // Тип инфо-блока, элементы которого связаны с текущим элементом
	"LINK_IBLOCK_ID"    => "22",                               // ID инфо-блока, элементы которого связаны с текущим элементом
	"LINK_PROPERTY_SID" => "PHONE_ID",                         // Свойство в котором хранится связь
	"LINK_ELEMENTS_URL" => "/catalog/accessory/byphone.php?",  // URL на страницу где будут показан список связанных элементов
	"arrFIELD_CODE" => Array(                                  // Поля
		"DETAIL_TEXT",
		"DETAIL_PICTURE"
	),
	"arrPROPERTY_CODE" => Array(                               // Свойства
		"YEAR",
		"STANDBY_TIME",
		"TALKTIME",
		"WEIGHT",
		"STANDART",
		"SIZE",
		"BATTERY",
		"SCREEN",
		"WAP",
		"VIBRO",
		"VOICE",
		"PC",
		"MORE_PHOTO",
		"MANUAL"
	),
	"CACHE_TIME"        => "3600",                              // Время кэширования (сек.)
));
?>

Пример подключения произвольного файла в эпилоге сайта


<?
// включаемая область для раздела
$APPLICATION->IncludeFile($APPLICATION->GetCurDir()."sect_inc.php", Array(), Array(
	"MODE"      => "html",                                           // будет редактировать в веб-редакторе
	"NAME"      => "Редактирование включаемой области раздела",      // текст всплывающей подсказки на иконке
	"TEMPLATE"  => "section_include_template.php"                    // имя шаблона для нового файла
));
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх