• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/hook/page/settings.php
  • Класс: BitrixLandingHookPageSettings
  • Вызов: Settings::getDataForSite
static function getDataForSite($id = null)
{
	static $settings = array();

	if (isset($settings[$id]))
	{
		return $settings[$id];
	}

	$settings[$id] = array();

	if ($id)
	{
		$hooks = Hook::getData(
			$id,
			Hook::ENTITY_TYPE_SITE
		);
	}

	foreach (self::getDefaultValues() as $key => $defValue)
	{
		if (isset($hooks['SETTINGS'][$key]))
		{
			$settings[$id][$key] = $hooks['SETTINGS'][$key];
		}
		else
		{
			$settings[$id][$key] = $defValue;
		}
	}

	// additional
	if (!Manager::isB24())
	{
		$settings[$id]['IBLOCK_ID'] = $hooks['SETTINGS']['IBLOCK_ID'] ?? 0;
	}
	else
	{
		$settings[$id]['IBLOCK_ID'] = 0;
		if (
			Loader::includeModule('crm')
			&& Loader::includeModule('catalog')
		)
		{
			$settings[$id]['IBLOCK_ID'] = (int)BitrixCrmProductCatalog::getDefaultId();
		}
	}

	// agreement
	if(isset($hooks['SETTINGS']['AGREEMENT_USE']))
	{
		$settings[$id]['AGREEMENT_USE'] = $hooks['SETTINGS']['AGREEMENT_USE'];
		if($hooks['SETTINGS']['AGREEMENT_USE'] === 'N')
		{
			$settings[$id]['AGREEMENT_ID'] = 0;
		}
	}
	else
	{
		$settings[$id]['AGREEMENT_USE'] = $settings[$id]['AGREEMENT_ID'] ? 'Y' : 'N';
	}

	if (isset($hooks['SETTINGS']['CART_POSITION']))
	{
		$settings[$id]['CART_POSITION'] = $hooks['SETTINGS']['CART_POSITION'];
	}

	return $settings[$id];
}