- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/component_template.php
- Класс: CBitrixComponentTemplate
- Вызов: CBitrixComponentTemplate::IncludeTemplate
public function IncludeTemplate(&$arResult)
{
global $arBXAvailableTemplateEngines;
if (!$this->__bInited)
return false;
$arLangMessages = null;
$externalEngine = ($arBXAvailableTemplateEngines[$this->__engineID]["function"] <> '' && function_exists($arBXAvailableTemplateEngines[$this->__engineID]["function"]));
$arParams = $this->__component->arParams;
if($this->__folder <> '')
{
if ($externalEngine)
{
$arLangMessages = $this->IncludeLangFile("", false, true);
}
else
{
$this->IncludeLangFile();
}
$this->__IncludeMutatorFile($arResult, $arParams);
if (!isset($this->__hasCSS) || $this->__hasCSS)
$this->__IncludeCSSFile();
if (!isset($this->__hasJS) || $this->__hasJS)
$this->__IncludeJSFile();
}
$parentTemplateFolder = "";
$parentComponent = $this->__component->GetParent();
if ($parentComponent)
{
$parentTemplate = $parentComponent->GetTemplate();
if ($parentTemplate)
$parentTemplateFolder = $parentTemplate->GetFolder();
}
if ($externalEngine)
{
$result = call_user_func(
$arBXAvailableTemplateEngines[$this->__engineID]["function"],
$this->__file,
$arResult,
$arParams,
$arLangMessages,
$this->__folder,
$parentTemplateFolder,
$this
);
}
else
{
$result = $this->__IncludePHPTemplate($arResult, $arParams, $parentTemplateFolder);
}
return $result;
}