• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/component_util.php
  • Класс: CComponentUtil
  • Вызов: CComponentUtil::GetTemplateProps
static function GetTemplateProps($componentName, $templateName, $siteTemplate = "", $arCurrentValues = array())
{
	$arTemplateParameters = array();

	$componentName = trim($componentName);
	if ($componentName == '')
		return $arTemplateParameters;

	if ($templateName == '')
		$templateName = ".default";

	if(preg_match("#[^a-z0-9_.-]#i", $templateName))
		return $arTemplateParameters;

	$path2Comp = CComponentEngine::MakeComponentPath($componentName);
	if ($path2Comp == '')
		return $arTemplateParameters;

	$componentPath = getLocalPath("components".$path2Comp);

	if (!CComponentUtil::isComponent($componentPath))
	{
		return $arTemplateParameters;
	}

	if ($siteTemplate <> "")
	{
		$siteTemplate = _normalizePath($siteTemplate);
	}

	$folders = array();
	if ($siteTemplate <> "")
	{
		$folders[] = "/local/templates/".$siteTemplate."/components".$path2Comp."/".$templateName;
	}
	$folders[] = "/local/templates/.default/components".$path2Comp."/".$templateName;
	$folders[] = "/local/components".$path2Comp."/templates/".$templateName;

	if ($siteTemplate <> "")
	{
		$folders[] = BX_PERSONAL_ROOT."/templates/".$siteTemplate."/components".$path2Comp."/".$templateName;
	}
	$folders[] = BX_PERSONAL_ROOT."/templates/.default/components".$path2Comp."/".$templateName;
	$folders[] = "/bitrix/components".$path2Comp."/templates/".$templateName;

	foreach($folders as $templateFolder)
	{
		if (file_exists($_SERVER["DOCUMENT_ROOT"].$templateFolder))
		{
			if (file_exists($_SERVER["DOCUMENT_ROOT"].$templateFolder."/.parameters.php"))
			{
				CComponentUtil::__IncludeLang($templateFolder, ".parameters.php");
				include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/.parameters.php");
			}
			return $arTemplateParameters;
		}
	}

	return $arTemplateParameters;
}