public function getComponents($location) { $components = array(); $componentsFolder = $this->getSiteRoot() . "/{$location}/components"; if (file_exists($componentsFolder)) { $namespaces = FileSystemHelpers::getSubdirs($componentsFolder); foreach ($namespaces as $namespace) { $componentNames = FileSystemHelpers::getSubdirs("{$componentsFolder}/{$namespace}"); foreach ($componentNames as $componentName) { $components[] = "{$namespace}:{$componentName}"; } } } return $components; }
public function getSiteTemplates($location = "bitrix", $returnFullPath = false, $showLocation = false) { $templates = array(); $siteRoot = BitrixTool::getInstance()->getSiteRoot(); $prefix = $location != 'bitrix' ? $location : ''; $siteTemplates = BitrixTool::getInstance()->getSiteTemplates($location); foreach ($siteTemplates as $siteTemplate) { $templatePath = implode("/", array("{$siteRoot}/{$location}/templates/{$siteTemplate}/components", $this->getNamespace(), $this->getName())); if (file_exists($templatePath)) { $tpls = FileSystemHelpers::getSubdirs($templatePath); foreach ($tpls as $tpl) { if ($returnFullPath) { $templates[] = "{$templatePath}/{$tpl}"; } else { $templates[] = $showLocation ? "{$tpl} ({$prefix}/{$siteTemplate})" : $tpl; } } } } return $templates; }