Добавление элемента со свойствами в инфоблок

В данном примере рассмотрим добавление элемента с набором свойств в инфоблок.

Для начала нужно найти ID свойств, которые мы хотим заполнить:

Далее создаем массив props в котором в качестве ключей указываем ID свойств:

$props = array();
$props[$BRAND_PROPERTY_ID] = "Значение свойства Брэнд";
$props[$ARTICLE_PROPERTY_ID] = "Значение свойства Артикул";
$props[$ONECID_PROPERTY_ID] = "Значение свойства ID по 1С";

Следующим шагом - формируем массив для создания инфоблока:

$arLoadProductArray = Array(
				"IBLOCK_ID"      => $INFOBLOCK_ID, //id инфоблока в который добавляем товар
				"PROPERTY_VALUES"=> $props, //созданный ранее массив свойств для товара
				"NAME"           => "$item_name", //название товара
				"ACTIVE"         => "Y",            // активен
			);

Добавим вызов метода добавления элемента и напишем вывод информации о успешном добавлении, либо об ошибке:

$el = new CIBlockElement;
if($PRODUCT_ID = $el->Add($arLoadProductArray))
	echo "New ID: ".$PRODUCT_ID."<br/>";
else
	echo "Error: ".$el->LAST_ERROR;

В случае успешного добавления элемента мы увидим сообщение "New ID: " и ID только что созданного товара, в противном случае - "Error " и описание ошибки

Теперь рассмотрим добавление доступного количества к созданному элементу, ID созданного элемента хранится в $PRODUCT_ID

$arFields = array(
	"ID" => $PRODUCT_ID,
	"QUANTITY" => $quan //доступное количество
	);
if(CCatalogProduct::Add($arFields))
	echo "Добавили количество товара к элементу каталога ".$PRODUCT_ID.'<br>';
else
	echo 'Ошибка добавления параметров<br>';

Осталось добавить цену:

$arFields = Array(
	"PRODUCT_ID" => $PRODUCT_ID, //id элемента 
	"CATALOG_GROUP_ID" => 1,//код типа цены
	"PRICE" => $price, //значение цены
	"CURRENCY" => "RUB", // валюта
	"QUANTITY_FROM" => 0, //кол-во товара с которого начинает действовать эта цена
	"QUANTITY_TO" => 0 //кол-во товара до которого действует данная цена
	);
CPrice::Add($arFields);

Весь код полностью:

$el = new CIBlockElement;
$props = array();
$props[$BRAND_PROPERTY_ID] = "BRAND_NAME";
$props[$ARTICLE_PROPERTY_ID] = "ARTICLE";
$props[$ONECID_PROPERTY_ID] = "ONECID";
$arLoadProductArray = Array(
	"IBLOCK_ID"      => $INFOBLOCK_ID,
	"PROPERTY_VALUES"=> $props,
	"NAME"           => $ELEMENT_NAME,
	"ACTIVE"         => "Y",            // активен
);
if($PRODUCT_ID = $el->Add($arLoadProductArray))
	echo "New ID: ".$PRODUCT_ID."<br/>";
else
	echo "Error: ".$el->LAST_ERROR;
$arFields = array(
  "ID" => $PRODUCT_ID,
  "QUANTITY" => $QUANTITY
);
if(CCatalogProduct::Add($arFields))
	echo "Добавили количество товара к элементу каталога ".$PRODUCT_ID.'<br>';
else
	echo 'Ошибка добавления параметров<br>';
$arFields = Array(
	"PRODUCT_ID" => $PRODUCT_ID,
	"CATALOG_GROUP_ID" => 1,
	"PRICE" => $PRICE,
	"CURRENCY" => "RUB",
	"QUANTITY_FROM" => 0,
	"QUANTITY_TO" => 0
);
CPrice::Add($arFields);

Смотрите также

20 отличных шаблонов для админ панелей
Шаблоны для историй (сторис) в instagram
Защита от спама ModxEvo и сниппет eform

Группа Вконтакте