Блог разработчика 1С-Битрикс

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.

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


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

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Участие в проекте

привлечение в проект на part-time основе

от 20 000 рублей / неделя

Возможно участие в проекте на ежедневной основе, как разработчика. Занятость - до 20 часов в неделю
Минимальный срок - одна неделя.

* сумма фиксированная

Разработка интернет-магазина с готовой версткой

от 4 недель

от 90 000 рублей

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.

Разработка корпоративного сайта

от 7 дней

от 40 000 рублей

Разработка сайта без системы оплаты заказов через корзину

* стоимость зависит от наличия верстки, использования готового решения и т.д.