Битрикс работа с инфоблоками для новичков битрикса

Для тех кто только начинает писать сайты на битриксе полезно будет знать как работать с инфоблоками. Инфоблоки это по сути те же таблицы, которые создаются в админке битрикса и могут быть использованы в ваших компонентах и модулях. В инфоблоках есть такое понятие как «Свойства». Свойства это по сути те поля, в которых можно хранить необходимую информацию. Чтобы не было глюков и прочих заморочек в поле «код» свойства инфоблока желательно писать его в uppercase на латинице например «SHOP_ID», «SHOP_NAME».
Инфоблоки создаются в админке:
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=34&LESSON_ID=2202
После создания инфоблока можно с ним уже работать.
Приведу простые примеры:
———————————————————————————————
Получить ID инфоблока по его символьному имени


$result = CIBlock::GetList(array(), array('TYPE' => 'fav_shops', 'CODE' => 'user_reviews'));
if ($row = $result->Fetch()) $info_id = intval($row['ID']);

Запрос на выборку данных из инфоблока


/*
*Тут указываем какие поля хотим извлечь. Если нужно извлечь свойство добавляем перед ним PROPERTY
*Например есть у нас свойство SHOP_RATE, чтобы его выбрать нужно указать PROPERTY_SHOP_RATE
*/
$arSelect = array("ID","NAME","PROPERTY_SHOP_RATE");
//Тут указываем ID инфоблока и дополнительные поля для фильтра-аналог WHERE в sql
$arFilter = array("IBLOCK_ID"=>$info_id,"PROPERTY_USER"=>$USER->GetID());
//Сюда передаем эти два массива
$rsItems = CIBlockElement::GetList(array("ID"=>"DESC"), $arFilter, false, false, $arSelect);
while($arItem = $rsItems->GetNext()){
     //Выведем значение свойства
     //Нужно обратить внимание,что еще добавляется VALUE
     echo $arItem["PROPERTY_SHOP_RATE_VALUE"];
     //Выведем простое поле
     echo $arItem["NAME"];
}

—————————————————————————————————
Добавить информацию в инфоблок


//В массив $PROP прописываются названия свойств и им присваиваются значения
$element=new CIBlockElement;
$PROP = array();
$PROP['USER'] = $USER->GetID();
$PROP['SHOP_ID']= $shop_id;
$information = array(
	"IBLOCK_ID"      => $info_id,
	"PROPERTY_VALUES"=> $PROP,
	"NAME"           => "Название элемента"
);
$element->Add($information);

—————————————————————————————————-
Обновить свойство:


//$id -идентификатор записи что нужно обновить

Понравилась статья? Поделиться с друзьями: