- Модуль: lists
- Путь к файлу: ~/bitrix/modules/lists/lib/field.php
- Класс: BitrixListsField
- Вызов: Field::prepareEditFieldByTypeE
static function prepareEditFieldByTypeE(array $field)
{
if($field['READ'] == 'Y' && empty($field['VALUE']))
{
return array(
'id' => $field['FIELD_ID'],
'name' => $field['NAME'],
'required' => $field['IS_REQUIRED'] == 'Y' ? true : false,
'type' => 'custom',
'show' => $field['SHOW'],
'value' => Loc::getMessage('LISTS_FIELD_NOT_DATA')
);
}
if(!is_array($field['VALUE']))
$field['VALUE'] = array($field['VALUE']);
$currentElements = array();
foreach($field['VALUE'] as $value)
{
if($value)
{
$currentElements[] = $value;
}
}
$randomGenerator = new RandomSequence($field['FIELD_ID']);
$randString = mb_strtolower($randomGenerator->randString(6));
$html = '';
global $APPLICATION;
ob_start();
$APPLICATION->includeComponent('bitrix:iblock.element.selector', '',
array(
'SELECTOR_ID' => $randString,
'INPUT_NAME' => $field['FIELD_ID'],
'IBLOCK_ID' => $field['LINK_IBLOCK_ID'],
'MULTIPLE' => $field['MULTIPLE'],
'CURRENT_ELEMENTS_ID' => $currentElements,
'POPUP' => 'Y',
'ONLY_READ' => $field['READ'],
'PANEL_SELECTED_VALUES' => 'Y',
'TEMPLATE_URL' => $field['LIST_ELEMENT_URL']
),
null, array('HIDE_ICONS' => 'Y')
);
$html .= ob_get_contents();
ob_end_clean();
$result = array(
'id' => $field['FIELD_ID'],
'name' => $field['NAME'],
'required' => $field['IS_REQUIRED'] == 'Y' ? true : false,
'type' => 'custom',
'show' => $field['SHOW'],
'value' => $html
);
return $result;
}