Меню
Проблема такая, есть список картинок которые нужно установить как картинки секций каталога товаров. Но в каталоге в районе 500 секции и ходить и делать это руками очень долго. Цель автоматизировать этот процесс.

Написал такой скрипт
Код
        //Точка входа с файлами, скрипт думаю будет хранится в папке админ, там же и файлы
        $sectionIconsFolder = "/bitrix/admin/custom/section-icons";
   $path =$_SERVER['DOCUMENT_ROOT'].$sectionIconsFolder;
        
        //Получаем содержимое
   $images = scandir($path);
        
        //Проходимся по всем файлам
   while(list($key, $filename) = each($images)) {
                
                //По какой-то причине первые два айтема в массиве с файлами это ., .., для тестовых целей пока что сделал так
      if($filename != '.' && $filename != '..') {
                        //Здесь пока что статичные данные для тестовых целей                
                        //Находим секци по названию секции
              $arFilter = Array('IBLOCK_ID'=>2, 'CODE'=>'underwear');
                $data = CIBlockSection::GetList(array("ASC" => "DESC"), $arFilter)->GetNext();

                        // Здесь я так полагаю происходит ошибка алгоритма
                        // Насколько я знаю в картинку обычно добавляются данные файла с помощью CFile:MakeFikeArray
                        // Здесь это не работает, есть подозрение что он не может добавить файл так как его нету в дб битрикса и 
                        // не в папке upload, скорее всего нужно добавить шаг с добавлением картинки в дб, мб я ошибаюсь
         $newPicture = CFile::MakeFileArray($path . "/" . $filename);
         CIBlockSection::Update($data["ID"], Array("PICTURE" => $newPicture));
         echo print_r($newPicture);
      }
   };
Проставил комментарии, в общем буду очень благодарен если поможете решить данную проблему
Ребят, думаю ошибка в алгоритме что в целом возможно, но по итогу вот что мне консоль вывела на метод CIBlockSection::Update
Код
Using $this when not in object context (0)
site.ru/bitrix/modules/iblock/classes/general/iblocksection.php:772 
Есть подозрения что ошибка в самом методе
Решил проблему, метод update не является статикой и вызывать его так CIBlockSection::Update было ошибкой, вот верный синтаксис $bs = new CIBlockSection; $bs->Update. Тему можно закрывать.  
Да, что бы кому-то (кто нарвется на этот вопрос) было понятнее

Код
$bs = new CIBlockSection;

$sectionIconsFolder = "/bitrix/admin/custom/section-icons";
$path = $_SERVER['DOCUMENT_ROOT'] . $sectionIconsFolder;
$images = scandir($path);

while (list($key, $filename) = each($images)) {
    if ($filename == '.' && $filename == '..') {
        continue;
    }
    $dbData = CIBlockSection::GetList(
        false,
        array(
            'IBLOCK_ID' => 2,
            'CODE' => 'underwear'
        )
    );
    while ($arSection = $dbData->Fetch()) {
        $arNewPicture = CFile::MakeFileArray($path . "/" . $filename);
        $arFields = array(
            "PICTURE" => $arNewPicture
        );
        $res = $bs->Update($arSection['ID'], $arFields);
    }
}
Видеоуроки по
1С-Битрикс
на моем Boosty канале Видео
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

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

Правильное подключение стилей и скриптов в Битрикс

Есть несколько способов подключения файлов стилей и скриптов, при верстке шаблонов в системе управления 1С-Битрикс. Если...

Использование WebP изображений в 1С-Битрикс (на Битрикс: Веб окружение)

WebP это современный формат сжатия изображений, который позволяет, при правильных настройках и уровнях сжатий, уменьшить...

Перенос Битрикс сайта с хостинга на хостинг, инструкция

Достаточно часто спрашивают как перенести сайт работающий на 1С Битрикс с одного хостинга на другой, как раз подвернулас...

Валидация пароля и подтверждения при регистрации в битрикс

Встала задачка сделать валидацию пароля и его подтверждения в стандартной форме регистрации сайта под управлением Битрик...

Установка поиска Sphinx на Ubuntu 22.04 для 1С-Битрикс

Задача: установить и сконфигурировать поиск Sphinx под управлением Ubuntu 22.04 и панели управления HestiaCP для использ...

Минимальная сумма заказа в корзине и оформлении заказа в 1С-Битрикс

В этой заметке добавим возможность установки минимальной суммы заказа, в новом шаблоне корзины на 1С-Битрикс.

Смена группы пользователя по информации из 1С для переключения типа цены

На сайте созданы две группы пользователей с доступом к разным типам цен: «Розничный покупатель» и «Оптовый покупатель». ...

Отфильтровать товары бренда и вывести по разделам каталога

Задача: на странице бренда, который выводится компонентом новостей, нужно показать все товары этого бренда из каталога. ...

Быстрая отписка от всех рассылок модуля "E-mail маркетинг", в кабинете пользователя

Задача: дать пользователям возможность отписаться от всех рассылок "E-mail маркетинга", не только по ссылке из...