• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/subtype/map.php
  • Класс: BitrixLandingSubtypeMap
  • Вызов: Map::addVisualSettings
static function addVisualSettings(array $manifest): array
{
	$additional = [];
	if (self::$provider === self::PROVIDER_GOOGLE)
	{
		$additional = [
			'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_TITLE'),
			'attrs' => [
				[
					'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_THEME_TITLE'),
					'type' => 'dropdown',
					'attribute' => 'data-map-theme',
					'items' => [
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_THEME_DEFAULT'),
							'value' => '',
						],
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_THEME_SILVER'),
							'value' => 'SILVER',
						],
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_THEME_RETRO'),
							'value' => 'RETRO',
						],
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_THEME_DARK'),
							'value' => 'DARK',
						],
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_THEME_NIGHT'),
							'value' => 'NIGHT',
						],
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_THEME_AUBERGINE'),
							'value' => 'AUBERGINE',
						],
					],
				],

				[
					'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_ROADS_TITLE'),
					'type' => 'dropdown',
					'attribute' => 'data-map-roads',
					'items' => [
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_ON'),
							'value' => '',
						],
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_OFF'),
							'value' => 'off',
						],
					],
				],

				[
					'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_LANDMARKS_TITLE'),
					'type' => 'dropdown',
					'attribute' => 'data-map-landmarks',
					'items' => [
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_ON'),
							'value' => '',
						],
						[
							'name' => Loc::getMessage('LANDING_GOOGLE_MAP--STYLE_OFF'),
							'value' => 'off',
						],
					],
				],
			],
		];
	}

	// check block/nodes style notation
	if (!isset($manifest['style']['block']) && !isset($manifest['style']['nodes']))
	{
		$manifest['style'] = [
			'block' => ['type' => Block::DEFAULT_WRAPPER_STYLE],
			'nodes' => $manifest['style'],
		];
	}
	if (!empty($additional))
	{
		if (!isset($manifest['style']['nodes'][self::MAP_SELECTOR]['additional']))
		{
			$manifest['style']['nodes'][self::MAP_SELECTOR]['additional'] = [];
		}
		$manifest['style']['nodes'][self::MAP_SELECTOR]['additional'][] = $additional;
	}
	else
	{
		unset($manifest['style']['nodes'][self::MAP_SELECTOR]['additional']);
	}

	return $manifest;
}