• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/component/baseufcomponent.php
  • Класс: BitrixMainComponentBaseUfComponent
  • Вызов: BaseUfComponent::executeComponent
public function executeComponent()
{
	$this->initResult();
	$this->prepareResult();

	$this->initAvailableModes();
	$this->initMode();
	$this->initMediaType();

	$templateName = $this->resolveTemplateName();
	$templatePage = $this->resolveTemplatePage();

	$this->setTemplateName($templateName);

	if($templatePage && !$this->isExistTemplatePage($templatePage))
	{
		// changing  to default templatePage if file with $templatePage name not exist ...
		if($templatePage !== static::TEMPLATE_PAGE_DEFAULT)
		{
			$templatePage = static::TEMPLATE_PAGE_DEFAULT;
		}
		// ... or setting default templateName if $templatePage name
		// is equal to TEMPLATE_PAGE_DEFAULT and not exist in current templateName folder
		else
		{
			$this->setTemplateName(static::TEMPLATE_NAME_DEFAULT);
		}
	}

	if($templatePage)
	{
		$this->includeComponentTemplate($templatePage);
	}
	else
	{
		$this->__showError(str_replace(
			['#NAME#', '#PAGE#'],
			[$this->getMode(), $this->getMediaType()],
			"Cannot find '#NAME#' template with page '#PAGE#'"
		));
	}
}