• Модуль: 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;
}