- Модуль: lists
- Путь к файлу: ~/bitrix/modules/lists/lib/field.php
- Класс: BitrixListsField
- Вызов: Field::renderFieldByTypeG
static function renderFieldByTypeG(array $field)
{
if(empty($field['VALUE']))
return Loc::getMessage('LISTS_FIELD_NOT_DATA');
if(!is_array($field['VALUE']))
$field['VALUE'] = array($field['VALUE']);
$urlTemplate = !empty($field['LIST_URL']) ? $field['LIST_URL'] : '';
$socnetGroupId = !empty($field['SOCNET_GROUP_ID']) ? intval($field['SOCNET_GROUP_ID']) : 0;
$result = array();
$filter = array();
foreach($field['VALUE'] as $value)
{
if(!empty(self::$cache[$field['TYPE']][$value]))
$result[] = self::$cache[$field['TYPE']][$value];
$filter['ID'][] = $value;
}
if(!empty($result) && (count($result) == count($field['VALUE'])))
return implode(self::$separator, $result);
else
$result = array();
$queryObject = CIBlockSection::getList(array(),
array('=ID' => $field['VALUE']), false, array('ID', 'IBLOCK_ID', 'NAME'));
while($section = $queryObject->getNext())
{
if($urlTemplate)
{
$sectionUrl = CHTTP::URN2URI(CHTTP::urlAddParams(
str_replace(array("#list_id#", "#section_id#", "#group_id#"),
array($section['IBLOCK_ID'], 0, $socnetGroupId),
$urlTemplate), array('list_section_id' => $section['ID'])));
$html = ''.
HtmlFilter::encode($section['~NAME']).'';
}
else
{
$html = HtmlFilter::encode($section['~NAME']);
}
$result[] = $html;
self::$cache[$field['TYPE']][$section['ID']] = $html;
}
return implode(self::$separator, $result);
}