• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/block/designer.php
  • Класс: BitrixLandingBlockDesigner
  • Вызов: Designer::getTypeClassReferences
static function getTypeClassReferences(): array
{
	$references = [];
	$selectorName = [];

	foreach (self::getRepo() as $repoItem)
	{
		if (
			!isset($repoItem['MANIFEST']) ||
			!is_array($repoItem['MANIFEST'])
		)
		{
			continue;
		}
		ksort($repoItem['MANIFEST']);
		foreach (['nodes', 'style'] as $category)
		{
			if (isset($repoItem['MANIFEST'][$category]))
			{
				foreach ($repoItem['MANIFEST'][$category] as $selector => $item)
				{
					if (!is_array($item))
					{
						continue;
					}
					$selector = trim($selector, '.');
					if (!isset($references[$selector]))
					{
						$references[$selector] = [];
					}
					if (!isset($references[$selector][$category]))
					{
						$references[$selector][$category] = [];
					}
					if (!isset($selectorName[$selector]))
					{
						$selectorName[$selector] = Loc::getMessage('LANDING_DESIGN_NODE_' . mb_strtoupper($selector));
					}
					if ($category === 'style')
					{
						self::adjustStylesType($selector, $item);
					}
					$item['name'] = $selectorName[$selector];
					$references[$selector][$category] = $item;
					if (
						isset($repoItem['MANIFEST']['assets']) &&
						is_array($repoItem['MANIFEST']['assets'])
					)
					{
						$references[$selector]['assets'] = $repoItem['MANIFEST']['assets'];
					}
				}
			}
		}
	}

	return $references;
}