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'));
Сообщение не промодерировано, возможны ошибки и неточности.
|
||||
Чтобы добавить файл нужно передать в VALUE не путь, а массив файла.
| ||||
Сообщение не промодерировано, возможны ошибки и неточности.
|
||
Тип файл
| ||
Алексей Попович
|
||
Для включения галочки о показе свойства в карточке товара, в список параметров нужно передать массив по ключу "Features"
В общем, массив параметра выглядит так:
| ||
Ilya Chumakov
|
LIST_TYPE в массиве полей отвечает за внешний вид свойства типа список. Если значение = L, то это просто список. Если C - флажки
|
ivan trufanov
|
||
Для привязки свойства к элементам инфоблока нужно указать PROPERTY_TYPE => E и LINK_IBLOCK_ID => <нужный iblock>
| ||
Адель Юсупов
|
//Для прикрепления свойства к разделу необходимо использовать класс
$SECTION_ID = 1; //- идентификатор раздела, либо 0, если требуется отвязать свойство от инфоблока. $PROPERTY_ID = 2; // - идентификатор свойства. $arLink = array('SMART_FILTER' => 'N'); //- в данный момент может содержать 2 ключа, это IBLOCK_ID и SMART_FILTER. //В свою очередь $arLink = array(‘SMART_FILTER’ => ‘Y’) - включить свойство в умный фильтр, если свойство в умный фильтр включать не требуется, можно просто //не указывать SMART_FILTER, либо $arLink = array(‘SMART_FILTER’ => ‘N’). CIBlockSectionPropertyLink::Add($SECTION_ID, $PROPERTY_ID, $arLink = array()); |
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.