• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/mail/eventmessagethemecompiler.php
  • Класс: BitrixMainMailEventMessageThemeCompiler
  • Вызов: EventMessageThemeCompiler::includeComponent
static function includeComponent($componentName, $componentTemplate, $arParams = array(), $parentComponent = null, $arFunctionParams = array())
{
	$componentRelativePath = CComponentEngine::MakeComponentPath($componentName);
	if ($componentRelativePath == '')
		return false;

	if (is_object($parentComponent))
	{
		if (!($parentComponent instanceof cbitrixcomponent))
			$parentComponent = null;
	}

	$result = null;
	$bComponentEnabled = (!isset($arFunctionParams["ACTIVE_COMPONENT"]) || $arFunctionParams["ACTIVE_COMPONENT"] <> "N");

	$component = new CBitrixComponent();
	if($component->InitComponent($componentName))
	{
		$obAjax = null;
		if($bComponentEnabled)
		{
			$component->setSiteId(static::getInstance()->getSiteId());
			$component->setLanguageId(static::getInstance()->getLanguageId());
			$component->setSiteTemplateId(static::getInstance()->getSiteTemplateId());

			try
			{
				$result = $component->IncludeComponent($componentTemplate, $arParams, $parentComponent);
			}
			catch(StopException $e)
			{
				$component->AbortResultCache();
				throw $e;
			}

			$arThemeCss = array(); // TODO: use styles array from $component
			foreach($arThemeCss as $cssPath)
				static::getInstance()->setStyle($cssPath);
		}
	}

	return $result;
}