Заполнить инфоблок брендов из свойства инфоблока с товарами

RSS
Заполнить инфоблок брендов из свойства инфоблока с товарами
 
Заполнить инфоблок брендов из свойства инфоблока с товарами

Задача: в интернет-магазине есть инфоблок с товарами, загружаемый из 1С, у которого заполнено свойство "Производитель" и оно является списком. Нужно заполнить отдельный инфоблок этими производителями, чтобы не наполнять его вручную.
 
Вариант на D7
Код
use Bitrix\Main\Loader;
use Bitrix\Iblock\IblockTable;
use Bitrix\Iblock\PropertyEnumerationTable;
use Bitrix\Iblock\Elements\ElementTable;
use Bitrix\Main\Type\Dictionary;
use Bitrix\Main\Text\Converter;
use Bitrix\Main\Text\Translit;

Loader::includeModule('iblock');

$arTrans = array("replace_space" => "-", "replace_other" => "-");

// Получаем инфоблок производителей по ID
$iblockIdCatalog = 10;
$iblockIdManufacturers = 7;

// Получаем значения свойства "CML2_MANUFACTURER" инфоблока каталога
$propertyEnums = PropertyEnumerationTable::getList([
    'select' => ['ID', 'VALUE'],
    'filter' => [
        'IBLOCK_ID' => $iblockIdCatalog,
        'PROPERTY.CODE' => 'CML2_MANUFACTURER'
    ],
    'order' => ['VALUE' => 'ASC']
]);

while ($enumFields = $propertyEnums->fetch()) {
    $translitCode = Translit::convert($enumFields['VALUE'], 'ru', $arTrans);

    // Создаем новый элемент в инфоблоке производителей
    $result = ElementTable::add([
        'IBLOCK_ID' => $iblockIdManufacturers,
        'NAME' => strip_tags($enumFields['VALUE']),
        'ACTIVE' => 'Y',
        'CODE' => $translitCode,
    ]);

    if (!$result->isSuccess()) {
        $errors = $result->getErrorMessages();
        // Обработка ошибок
    }
}
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst
Место для вашей рекламы.
Сквозная по:

15 000 руб/мес.

Обязательно через ОРД
со счетами и актами

Блог-note: заметки разработчика

Запретить изменения описаний товаров при выгрузке из 1С УТ на сайт

При разработке сайтов на Битрикс, с интеграцией с 1С Управление Тороговлей, нужно запретить изменения полей при обмене. ...

Очистка корзины в 1С-Битрикс одним нажатием

В стандартной корзине Битрикс не хватает кнопки для полной очистки корзины одним нажатием. Требуется это довольно редко,...

Адаптивное гамбургер меню для битрикс

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

Настройка обмена между 1С:Предприятие и магазином на "1С-Битрикс24: Интернет-магазин + CRM" по REST протоколу

В этой заметке расскажу как настроить синхронизацию между 1С:предприятие и "1С-Битрикс24: Интернет-магазин + CR...

FTP доступ на Виртуальной машине Битрикс

Бывает что нужно открыть FTP доступ к заранее известной папке на сайте под управлением 1С Битрикс, который работает на в...

Вывести дату окончания скидки в карточке товара

Если нужно вывести информацию о скидке в карточке товара, можно воспользоваться методом CCatalogDiscount::GetList. Данны...

Помечаем новинки лейблом в каталоге битрикс

Достаточно часто, при разработке каталога товаров или интернет магазина на системе управления Битрикс, встает задача как...

Отключить поиск по описаниям товаров в Битрикс

Иногда, нужно отключить поиск по описаниям анонсов и детальному описанию товаров, при разработке сайтов на Битрикс. Сдел...

Как подобрать редакцию Битрикс под задачи

Последнее время, все чаще, при общении с заказчиками, сталкиваюсь с вопросом "— Какая редакция 1С-Битрикс нужна дл...