• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/site/update/chatsales.php
  • Класс: BitrixLandingSiteUpdateChatSales
  • Вызов: ChatSales::createPageIfNotExists
static function createPageIfNotExists(int $siteId, int $catalogFolderId, string $code): ?int
{
	// find or create
	$res = Landing::getList([
		'select' => [
			'ID',
		],
		'filter' => [
			'DELETED' => 'N',
			'SITE_ID' => $siteId,
			'=TPL_CODE' => $code,
			'CHECK_PERMISSIONS' => 'N',
		],
	]);
	if ($row = $res->fetch())
	{
		$pageId = $row['ID'];

		return $pageId;
	}

	$res = Landing::addByTemplate($siteId, $code, [
		'FOLDER_ID' => $catalogFolderId,
		'SITE_TYPE' => 'STORE',
	]);
	$pageId = $res->getId();

	if (
		$pageId
		&& Landing::createInstance($pageId)->publication()
	)
	{
		return $pageId;
	}

	return null;
}