• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/prop_section_auto.php
  • Класс: CIBlockPropertySectionAutoComplete
  • Вызов: CIBlockPropertySectionAutoComplete::GetPublicViewHTML
static function GetPublicViewHTML($arProperty, $arValue, $strHTMLControlName)
{
	static $cache = array();

	$strResult = '';
	$arValue['VALUE'] = (int)($arValue['VALUE'] ?? 0);
	if ($arValue['VALUE'] > 0)
	{
		if (!isset($cache[$arValue['VALUE']]))
		{
			$arFilter = array();
			$intIBlockID = intval($arProperty['LINK_IBLOCK_ID']);
			if (0 < $intIBlockID) $arFilter['IBLOCK_ID'] = $intIBlockID;
			$arFilter['ID'] = $arValue['VALUE'];
			$arFilter["ACTIVE"] = "Y";
			$arFilter["CHECK_PERMISSIONS"] = "Y";
			$arFilter["MIN_PERMISSION"] = "R";
			$rsElements = CIBlockSection::GetList(
				array(),
				$arFilter,
				false,
				array("ID","IBLOCK_ID","NAME","SECTION_PAGE_URL")
			);
			if (isset($strHTMLControlName['SECTION_URL']))
			{
				$rsElements->SetUrlTemplates('', $strHTMLControlName['SECTION_URL']);
			}
			$cache[$arValue['VALUE']] = $rsElements->GetNext(true,true);
		}
		if (is_array($cache[$arValue['VALUE']]))
		{
			if (isset($strHTMLControlName['MODE']) && 'CSV_EXPORT' == $strHTMLControlName['MODE'])
			{
				$strResult = $cache[$arValue['VALUE']]['ID'];
			}
			elseif (isset($strHTMLControlName['MODE']) && ('SIMPLE_TEXT' == $strHTMLControlName['MODE'] || 'ELEMENT_TEMPLATE' == $strHTMLControlName['MODE']))
			{
				$strResult = $cache[$arValue['VALUE']]["~NAME"];
			}
			else
			{
				$strResult = ''.$cache[$arValue['VALUE']]["NAME"].'';
			}
		}
	}

	return $strResult;
}