Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Удалить половину элементов инфоблока с помощью API

Просмотров: 2315 Задача: вот такая странная задача, нужно удалить из инфоблока половину элементов. Не важно каких, просто половину элементов.
Удалить половину элементов инфоблока с помощью API

Получение и удаление элементов через API

Скрипт который удалит элементы, если вы знаете сколько элементов в инфоблоке. Например, в инфоблоке 12 346 элементов, соотвественно нужно удалить 6 173:

use Bitrix\Main\Loader,
    Bitrix\Iblock\ElementTable;

Loader::includeModule('iblock');

$rsElements = ElementTable::getList([
    'filter' => [
        'IBLOCK_ID' => '1', // ID инфоблока
    ],
    'select' => [
        'ID',
    ],
    'limit' => '6173'
]);

foreach ($rsElements as $element) {
    CIBlockElement::Delete($element['ID'])
}

С помощью ElementTable::getList получили 6173 элемента этого инфоблока и удалили их с помощью CIBlockElement::Delete

Другой вариант удаления

Этот вариант подойдет, если не знаете сколько элементов в инфоблоке и не хочется делать скрипт подсчета.

use Bitrix\Main\Loader,
    Bitrix\Iblock\ElementTable;

Loader::includeModule('iblock');

$rsElements = ElementTable::getList([
    'filter' => [
        'IBLOCK_ID' => '1', // ID инфоблока
    ],
    'select' => [
        'ID'
    ]
]);

foreach ($rsElements as $k => $element) {
  if ($k % 2 == 0) {
      CIBlockElement::Delete($element['ID'])
  }
}

Здесь происходит перебор полученного списка элементов. С помощью переменной $k отслеживается текущий индекс элемента в списке. Условие if ($k % 2 == 0) проверяет, является ли индекс чётным (то есть, каждый второй элемент). Если условие выполняется, вызывается метод Delete класса CIBlockElement для удаления элемента по его ID.

Таким образом удалиться ровно половина элементов.

Услуги Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.
Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.
Индивидуальная разработка магазина
от 300 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Подробнее
Сайт на готовом решении 1С-Битрикс
от 70 000 руб. от 5-ти дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Подробнее
Мобильное приложение
от 300 000 руб. от 4-х недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Подробнее
Сайт компании
от 150 000 руб. от 2-х недель

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

Подробнее
Инфоресурс
от 170 000 руб. от 3-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Подробнее
Поддержка и доработки проектов
от 3 000 руб. от 1 часа

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

Подробнее

Включено в стоимость разработки:

  • Лицензия на 1С-Битрикс необходимой редакции, дополнительные модули, для реализации функционала и видео-инструкции по работе с готовым проектом
  • Оптимизация программной части проекта и конфигурации сервера под максимальную скорость работы. Базовая СЕО оптимизация и добавление сайта в поисковые системы.

Блог-note Заметки по 1С-Битрикс