CRUD-операции в Битриксе.

Эта статья представлена в сокращенном формате и входит в курс - Разработчик 1C-Битрикс (для начинающих). Теория и практика

CRUD-операции в Битриксе

В системе управления контентом (CMS) Битрикс, CRUD-операции (создание, чтение, обновление, удаление) и поиск/фильтрация данных могут быть выполнены с использованием различных методов и API, предоставляемых платформой. Вот общий обзор того, как можно выполнять эти операции:

1. Добавление записей

Для добавления записей в инфоблоки или другие сущности в Битриксе можно использовать методы API. Например, для инфоблоков это может быть сделано с помощью класса CIBlockElement.


$el = new CIBlockElement;
$arFields = array(
    "IBLOCK_ID" => $iblockId,
    "NAME" => "Новая запись",
    "ACTIVE" => "Y",
    // другие поля
);

$res = $el->Add($arFields);
if ($res) {
    echo "Запись успешно добавлена";
} else {
    echo "Ошибка: " . $el->LAST_ERROR;
}
    

2. Обновление записей

Для обновления существующих записей используется метод Update.


$el = new CIBlockElement;
$res = $el->Update($elementId, $arFields);
if ($res) {
    echo "Запись успешно обновлена";
} else {
    echo "Ошибка: " . $el->LAST_ERROR;
}
    

3. Удаление записей

Для удаления записи используется метод Delete.


$el = new CIBlockElement;
$res = $el->Delete($elementId);
if ($res) {
    echo "Запись успешно удалена";
} else {
    echo "Ошибка: " . $el->LAST_ERROR;
}
    

4. Поиск и фильтрация (Query)

Для поиска и фильтрации данных используется класс CIBlockElement::GetList.


$arFilter = array("IBLOCK_ID" => $iblockId, "ACTIVE" => "Y");
$arSelect = array("ID", "NAME", "DATE_ACTIVE_FROM");
$res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);

while ($ob = $res->GetNextElement()) {
    $arFields = $ob->GetFields();
    echo "ID: " . $arFields["ID"] . "
"; echo "NAME: " . $arFields["NAME"] . "
"; }

Использование D7 API

Современные версии Битрикса также поддерживают использование ORM (D7 API), что делает работу с данными более удобной и интуитивно понятной.


use Bitrix\Iblock\ElementTable;

// Добавление
$result = ElementTable::add([
    'IBLOCK_ID' => $iblockId,
    'NAME' => 'Новая запись',
    'ACTIVE' => 'Y',
]);

// Обновление
$result = ElementTable::update($elementId, [
    'NAME' => 'Обновленная запись',
]);

// Удаление
$result = ElementTable::delete($elementId);

// Поиск
$res = ElementTable::getList([
    'filter' => ['IBLOCK_ID' => $iblockId, 'ACTIVE' => 'Y'],
    'select' => ['ID', 'NAME'],
]);

while ($row = $res->fetch()) {
    echo "ID: " . $row['ID'] . "
"; echo "NAME: " . $row['NAME'] . "
"; }

Эти примеры демонстрируют базовые операции с данными в Битриксе. В зависимости от конкретной задачи и версии Битрикса, могут потребоваться дополнительные настройки или использование других методов API.

Теги:  Битрикс, курс

Похожие статьи

Интернет-магазин от 120 000 руб., срок от 4 недель

Платформа для продажи товаров или услуг. Включает интерактивные формы обратной связи в каждой карточке товара, а также множество статичных и динамичных разделов.

Корпоративный сайт от 60 000 руб., срок от 3 недель

Готовый информационный ресурс, включающий лицензию на 1С-Битрикс «Стандарт», технологию «Композитный сайт».

Лендинг от 25 000 руб., срок от 2 недель

Компактный сайт, идеально подходящий для старта. На одной странице можно представить ключевые преимущества вашей компании и разместить форму для обратной связи.