Написал такой скрипт
| Код |
|---|
//Точка входа с файлами, скрипт думаю будет хранится в папке админ, там же и файлы
$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);
}
};
|