• Модуль: mobileapp
  • Путь к файлу: ~/bitrix/modules/mobileapp/lib/designer/manager.php
  • Класс: BitrixMobileAppDesignerManager
  • Вызов: Manager::bindTemplate
static function bindTemplate($templateId, $folder, $createNew)
{
	$arFields = Array("TEMPLATE" => Array());
	if ($createNew)
	{
		CopyDirFiles(
			Application::getDocumentRoot() . "/bitrix/modules/mobileapp/templates/default_app/",
			Application::getDocumentRoot() . "/bitrix/templates/" . $templateId, True, True
		);

		File::putFileContents(
			Application::getDocumentRoot() . "/bitrix/templates/" . $templateId . "/description.php",
			str_replace(Array("#mobile_template_name#"), Array($templateId), File::getFileContents(Application::getDocumentRoot() . "/bitrix/templates/" . $templateId . "/description.php"))
		);

		$arFields["TEMPLATE"][] = Array(
			"SORT" => 1,
			"CONDITION" => "CSite::InDir('/" . $folder . "/')",
			"TEMPLATE" => $templateId
		);
	}

	$default_site_id = CSite::GetDefSite();
	if ($default_site_id)
	{
		$dbTemplates = CSite::GetTemplateList($default_site_id);
		$arFields["LID"] = $default_site_id;
		$isTemplateFound = false;
		while ($template = $dbTemplates->Fetch())
		{
			$arFields["TEMPLATE"][] = array(
				"TEMPLATE" => $template['TEMPLATE'],
				"SORT" => $template['SORT'],
				"CONDITION" => $template['CONDITION']
			);

			if ($template["TEMPLATE"] == $templateId && !$createNew && !$isTemplateFound)
			{
				$isTemplateFound = true;

				$arFields["TEMPLATE"][] = Array(
					"SORT" => 1,
					"CONDITION" => "CSite::InDir('/" . $folder . "/')",
					"TEMPLATE" => $templateId
				);
			}
		}

		$obSite = new CSite;
		$obSite->Update($default_site_id, $arFields);
	}
}