• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/assets/preprocessing/theme.php
  • Класс: BitrixLandingAssetsPreProcessingTheme
  • Вызов: Theme::getNewPageTemplate
static function getNewPageTemplate(int $siteId): string
{
	static $sites = [];

	if (!array_key_exists($siteId, $sites))
	{
		$sites[$siteId] = null;
		$res = Site::getList([
			'select' => [
				'XML_ID', 'TPL_CODE'
			],
			'filter' => [
				'ID' => $siteId
			]
		]);
		if ($row = $res->fetch())
		{
			if (!$row['TPL_CODE'] && mb_strpos($row['XML_ID'], '|'))
			{
				[, $row['TPL_CODE']] = explode('|', $row['XML_ID']);
			}
			if ($row['TPL_CODE'])
			{
				$manifest = self::getThemeManifest($row['TPL_CODE']);
				if (
					isset($manifest['newPageTemplate'][0]) &&
					is_string($manifest['newPageTemplate'][0])
				)
				{
					$sites[$siteId] = $manifest['newPageTemplate'][0];
				}
			}
		}
	}

	if ($sites[$siteId])
	{
		return $sites[$siteId];
	}

	return self::DEFAULT_PAGE_TEMPLATE;
}