• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/block.php
  • Класс: BitrixLandingBlock
  • Вызов: Block::getMenuHtml
protected function getMenuHtml($data, $manifestNode, $level = 'root')
{
	if (!is_array($data) || !isset($manifestNode[$level]))
	{
		return '';
	}

	$htmlContent = '';
	$rootSelector = $manifestNode[$level];

	if (
		isset($rootSelector['ulClassName']) &&
		isset($rootSelector['liClassName']) &&
		isset($rootSelector['aClassName']) &&
		is_string($rootSelector['ulClassName']) &&
		is_string($rootSelector['liClassName']) &&
		is_string($rootSelector['aClassName'])
	)
	{
		foreach ($data as $menuItem)
		{
			if (
				isset($menuItem['text']) && is_string($menuItem['text']) &&
				isset($menuItem['href']) && is_string($menuItem['href'])
			)
			{
				if ($menuItem['href'] === 'page:#landing0')
				{
					$res = Landing::addByTemplate(
						$this->getSiteId(),
						AssetsPreProcessingTheme::getNewPageTemplate($this->getSiteId()),
						[
							'TITLE' => $menuItem['text']
						]
					);
					if ($res->isSuccess())
					{
						$menuItem['href'] = '#landing' . $res->getId();
					}
				}
				if (isset($menuItem['target']) && is_string($menuItem['target']))
				{
					$target = $menuItem['target'];
				}
				else
				{
					$target = '_self';
				}
				$htmlContent .= '
  • '; $htmlContent .= ''; $htmlContent .= htmlspecialcharsbx($menuItem['text']); $htmlContent .= ''; if (isset($menuItem['children'])) { $htmlContent .= $this->getMenuHtml( $menuItem['children'], $manifestNode, 'children' ); } $htmlContent .= '
  • '; } } if ($htmlContent) { $htmlContent = '
      ' . $htmlContent . '
    '; } else if ($level == 'root') { $htmlContent = '
      '; } } return $htmlContent; }