Установить картинку раздела по картинке одного из товаров в этом разделе
\Bitrix\Main\Loader::includeModule('iblock');
$arRes = CIBlockSection::GetList(['SORT'=>'ASC'], [
'IBLOCK_ID'=>17,
'PICTURE'=>false,
], true, [
'ID',
'IBLOCK_ID',
'NAME',
]);
while($arSection = $arRes->GetNext()){
var_dump($arSection);
$res = CIBlockElement::getlist(
["SORT" => "ASC"],
["IBLOCK_ID" => 17, 'ACTIVE' => 'Y', '!PREVIEW_PICTURE' => false, 'SECTION_ID' => $arSection['ID'], 'INCLUDE_SUBSECTIONS' => 'Y'],
false,
false,
["ID", "NAME", "PREVIEW_PICTURE"]
);
$arElement = $res->GetNext();
var_dump($arElement);
$arFile = CFile::MakeFileArray($arElement["PREVIEW_PICTURE"]);
var_dump($arFile);
$sec = new CIBlockSection;
$sec->Update($arSection['ID'],['PICTURE' => $arFile]);
}
Выбираем разделы без картинок и пытаемся найти товар в этом разделе и подразделах.
Параметр INCLUDE_SUBSECTIONS позволяет искать товар в подразделах раздела.
Бывает, что в разделе нет активных товаров, тогда после установки картинок по активным товарам, можно установить картинки по неактивным товарам поменяв фильтр ACTIVE на 'N'.