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

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