public static function includeComponent($componentName, $componentTemplate, $arParams = array(), $parentComponent = null, $arFunctionParams = array()) { $componentRelativePath = \CComponentEngine::MakeComponentPath($componentName); if (StrLen($componentRelativePath) <= 0) { 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()); $result = $component->IncludeComponent($componentTemplate, $arParams, $parentComponent); $arThemeCss = array(); // TODO: use styles array from $component foreach ($arThemeCss as $cssPath) { static::getInstance()->setStyle($cssPath); } } } return $result; }