2019-10-01 12:37:00
3851

Чтобы, добавить элемент в инфоблок, нам поможет крутой класс CIBlockElement;

Если вы планируете добавлять новые элементы в инфоблок в отдельном файле для начала нужно подключить prolog_before.php

 

Код PHP #1


<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); ?> 

 

Далее обязательно нужно инициализировать сам класс $el = new CIBlockElement; Иначе ничего не будет работать.

Растягивать -эту инструкцию не буду, а думаю стоит сразу показать полный код. Тем более здесь нет ничего сложного, думаю у Вас всё получится

Код PHP #2



<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); // это подключаем если код ниже будет исполняться в отдельном файле php

CModule::IncludeModule('iblock');  // это подключит нужный класс для работы с инфоблоком

$el = new CIBlockElement; // обязательно указываем класс

$PROP = array();       // здесь у нас будут храниться свойства
$PROP[1] = 'значение'; // свойству с id 1 задаём значение
$PROP[2] = 'значение'; // свойству с id 2 задаём значение 

$arLoadProductArray = Array( 
"ACTIVE_FROM" => date('d.m.Y H:i:s'), // обязательно нужно указать дату начала активности элемента
"MODIFIED_BY" => $USER->GetID(), // указываем какой пользователь добавил элемент
"IBLOCK_SECTION_ID" => false, // В корне или нет
"IBLOCK_ID" => 25,              //  собственно сам id блока куда будем добавлять новый элемент
"NAME" => "Какое -то название записи", 
"ACTIVE" => "Y", // активен или  N не активен 
"PREVIEW_TEXT" => "Какое-то описание", 
"DETAIL_TEXT" => "Детальный текст", 
"PROPERTY_VALUES"=> $PROP,  // Добавим нашему элементу заданные свойства
"DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images.png")  // ссылка на детальную картинку
); 

if($newElement = $el->Add($arLoadProductArray))  // с помощью Add добавляем новый элемент
echo "ID Нового элемента: ".$newElement; 
else 
echo "Error: ".$el->LAST_ERROR; 
?>


 

Комментарии (46)

  1. Максим 14 июля 2022, 14:16 # 0
    CModule::IncludeModule('iblock'); Это же не d7?