Add
Описание и параметры
int CIBlockProperty::Add( array arFields );
Метод добавляет новое свойство. Отменить добавление или изменить поля свойства можно в обработчике события OnBeforeIBlockPropertyAdd. После добавления нового свойства вызываются обработчики события OnAfterIBlockPropertyAdd. Нестатический метод.
Параметры вызова
Параметр | Описание |
---|---|
arFields | Массив Array("поле"=>"значение", ...). Содержит значения всех полей свойства. Кроме того, с помощью поля "VALUES", значением которого должен быть массив структуры array( array( "VALUE"=>"значение", "DEF"=>"по умолчанию (Y/N)", "SORT"=>"индекс сортировки" ... ), ), можно установить варианты выбора для свойств типа "список" (подробнее смотрите метод CIBlockProperty::UpdateEnum()). |
Возвращаемое значение
Метод возвращает ID добавленного свойства, если добавление прошло успешно, при возникновении ошибки метод вернет false, а в свойстве объекта LAST_ERROR будет содержаться текст ошибки.Смотрите также
Примеры использования
<? $arFields = Array( "NAME" => "Цвет", "ACTIVE" => "Y", "SORT" => "100", "CODE" => "color", "PROPERTY_TYPE" => "L", "IBLOCK_ID" => 11 ); $arFields["VALUES"][0] = Array( "VALUE" => "Красный", "DEF" => "N", "SORT" => "100" ); $arFields["VALUES"][1] = Array( "VALUE" => "Желтый", "DEF" => "N", "SORT" => "200" ); $arFields["VALUES"][2] = Array( "VALUE" => "Зеленый", "DEF" => "Y", "SORT" => "300" ); $ibp = new CIBlockProperty; $PropID = $ibp->Add($arFields); ?>
//добавление свойства типа "HTML" $arFields = Array( "NAME" => "Итог", "ACTIVE" => "Y", "SORT" => "600", "CODE" => "ITOG", "PROPERTY_TYPE" => "S", "USER_TYPE" => "HTML", "IBLOCK_ID" => $arParams["IBLOCK_ID"], ); $ibp = new CIBlockProperty; $PropID = $ibp->Add($arFields); //для добавления свойства типа "Видео" в массиве arFields должно быть указано: "PROPERTY_TYPE" => "S", "USER_TYPE" => "video",
//установка параметра "Выводить поле для описания значения" для свойства инфоблока ("WITH_DESCRIPTION" => "Y") // доступно только для типов свойств: S - строка, N - число и F - файл $arFields = Array( "NAME" => "Прочее", "ACTIVE" => "Y", "SORT" => "1700", "CODE" => "F_OTHER", "PROPERTY_TYPE" => "S", "IBLOCK_ID" => $IBLOCK_ID, "WITH_DESCRIPTION" => "Y", ); $iblockproperty = new CIBlockProperty; $PropertyID = $iblockproperty->Add($arFields);
//добавление к инфоблоку свойства типа "Справочник" $arFields = Array( "NAME" => "Производитель", "ACTIVE" => "Y", "SORT" => "50", "CODE" => "PROIZVODITEL", "PROPERTY_TYPE" => "S", "USER_TYPE" => "directory", "IBLOCK_ID" => 888888888888888,//номер вашего инфоблока "LIST_TYPE" => "L", "MULTIPLE" => "N", "USER_TYPE_SETTINGS" => array("size"=>"1", "width"=>"0", "group"=>"N", "multiple"=>"N", "TABLE_NAME"=>"b_producers") ); $ibp = new CIBlockProperty; $PropID = $ibp->Add($arFields); //затем следует в значение свойства вставить значение поля UF_XML_ID от вашего справочника CIBlockElement::SetPropertyValuesEx(123188, 888888888888888, array('PROIZVODITEL'=>'000000701'));
© «Битрикс», 2001-2024, «1С-Битрикс», 2024