Документация для разработчиков

SetFields

CIBlock::SetFields(
 int ID,
array arFields
);

Метод изменяет описание полей элементов инфоблоков. С ее помощью можно отметить поля как обязательные для заполнения, а также установить значение по умолчанию для новых элементов. Метод статический.

Примечание: обязательность полей будет проверена в методах CIBlock::Add и CIBlock::Update, а значение по умолчанию будет установлено только в форме редактирования элемента в административной части сайта.

Параметры вызова

Параметр Описание
ID
Код информационного блока.
arFields
Массив вида array("код поля" => "значение" ...), где значение это массив содержащий следующие элементы:
  • IS_REQUIRED - признак обязательности заполнения (Y|N).
  • DEFAULT_VALUE - значение поля по умолчанию.

Описание полей

  • IBLOCK_SECTION - привязка к разделам
  • ACTIVE - Флаг активности
  • ACTIVE_FROM - Дата начала действия элемента
  • ACTIVE_TO - Дата окончания действия элемента
  • SORT - Порядок сортировки элементов между собой
  • NAME - Название элемента
  • PREVIEW_PICTURE - Код картинки для предварительного просмотра
  • PREVIEW_TEXT_TYPE - Тип предварительного описания
  • PREVIEW_TEXT - Предварительное описание
  • DETAIL_PICTURE - Код картинки для детального просмотра.
  • DETAIL_TEXT_TYPE - Тип детального описания
  • DETAIL_TEXT - Детальное описание
  • XML_ID - Внешний идентификатор
  • CODE - Символьный идентификатор
  • TAGS - Теги элемента
Признак обязательности не может быть переопределен для полей ACTIVE, NAME, PREVIEW_TEXT_TYPE, DETAIL_TEXT_TYPE. Эти поля всегда являются обязательными.

Значением поля DEFAULT_VALUE для полей PREVIEW_PICTURE и DETAIL_PICTURE является массив следующего вида:
  • FROM_DETAIL - возможные значения: Y|N. Указывает на необходимость генерации картинки предварительного просмотра из детальной.
  • SCALE - возможные значения: Y|N. Если равно "Y", то изображение будет отмасштабировано.
  • WIDTH - целое число. Размер картинки будет изменен таким образом, что ее ширина не будет превышать значения этого поля.
  • HEIGHT - целое число. Размер картинки будет изменен таким образом, что ее высота не будет превышать значения этого поля.
  • IGNORE_ERRORS - возможные значения: Y|N. Если во время изменения размера картинки были ошибки, то при значении "N" будет сгенерирована ошибка.
  • METHOD - возможные значения: resample или пусто. Значение поля равное "resample" приведет к использованию функции масштабирования imagecopyresampled, а не imagecopyresized. Это более качественный метод, но требует больше серверных ресурсов.
  • COMPRESSION - целое от 0 до 100. Если значение больше 0, то для изображений jpeg оно будет использовано как параметр компрессии. 100 соответствует наилучшему качеству при большем размере файла.
  • DELETE_WITH_DETAIL -  возможные значения: Y|N. Указывает на необходимость удаления картинки предварительного просмотра при удалении детальной.
  • UPDATE_WITH_DETAIL -  возможные значения: Y|N. Указывает на необходимость обновления картинки предварительного просмотра при изменении детальной.

Возвращаемое значение

Метод ничего не возвращает.

См. также


Примеры

//Как сделать поле "Символьный код" обязательным
if (CModule::IncludeModule('iblock'))
{
$Id = 2;
$fields = CIBlock::getFields($Id);
$fields["CODE"]["IS_REQUIRED"] = "Y";
CIBlock::setFields($Id, $fields);
;
}
//Дополнительные настройки для поля "Символьный код" 
$arFields["CODE"]["DEFAULT_VALUE"]["UNIQUE"] = "Y";//Если код задан, то проверять на уникальность
$arFields["CODE"]["DEFAULT_VALUE"]["TRANSLITERATION"] = "Y";//Транслитерировать из названия при добавлении элемента

//Подсказка: настройки для всех полей можно подсмотреть в исходном html-коде страницы с формой редактирования инфоблока.


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх