Как быстро перенести много товаров из одного раздела в другой в 1С-Битрикс при помощи API

Внимание! Работает режим премодерации. Все сообщения публикуются после проверки!
Страницы: 1
Ответить
RSS
Как быстро перенести много товаров из одного раздела в другой в 1С-Битрикс при помощи API
Как быстро перенести много товаров из одного раздела в другой в 1С-Битрикс при помощи API

В современном интернет-магазине на 1С-Битрикс нередко возникает задача  массового редактирования товаров. Одна из самых востребованных операций —  перенос группы товаров из одного раздела в другой. Делать это вручную  через административную панель может быть утомительно, особенно если речь  идет о сотнях или тысячах позиций. К счастью, в 1С-Битрикс существует  удобный API для работы с элементами инфоблока, который позволяет  автоматизировать процесс.
Добавим товары из указанных разделов (включая подразделы) в  новый целевой раздел, сохраняя при этом все существующие привязки  товаров.
Код
<?php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock");

$IBLOCK_ID = 2; // ID инфоблока
$SOURCE_SECTIONS = [10, 15]; // Разделы-источники
$TARGET_SECTION = 25; // Целевой раздел

$filter = [
    'IBLOCK_ID' => $IBLOCK_ID,
    'SECTION_ID' => $SOURCE_SECTIONS,
    'INCLUDE_SUBSECTIONS' => 'Y'
];

$elements = CIBlockElement::GetList([], $filter, false, false, ['ID']);
$element = new CIBlockElement;

while ($item = $elements->Fetch()) {
    $currentSections = [];
    $sectionList = CIBlockElement::GetElementGroups($item['ID'], true);
    while ($section = $sectionList->Fetch()) {
        $currentSections[] = $section['ID'];
    }
    
    if (!in_array($TARGET_SECTION, $currentSections)) {
        $currentSections[] = $TARGET_SECTION;
        CIBlockElement::SetElementSection($item['ID'], $currentSections);
        echo "Товар {$item['ID']} обновлен<br>";
    }
}

require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php");
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

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

Техническая поддержка

выполняется с сайтами на основе любых CMS

от 5 000 рублей
Оптимизация производительности действующих интернет-проектов, наполнение и сопровождение, полная техническая поддержка и продвижение в поисковых сетях.

* стоимость зависит от объема и сложности выполняемых работ, используемой CMS.

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

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

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

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

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

Лендинг

от 3 дней

от 25 000 рублей

Разработка одностраничного сайта на платформе Битрикс

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