bitrix

Миграция изображений из свойства "привязка элементов в виде списка" в поле типа "файл множественный "

CModule::IncludeModule('iblock');
    $IBLOCK_ID = 129;
    $arSelect = Array("ID", "IBLOCK_ID", "NAME", "DATE_ACTIVE_FROM", "PROPERTY_*");
    $arFilter = Array("IBLOCK_ID" => $IBLOCK_ID,
        "ACTIVE_DATE" => "Y",
        //"SECTION_CODE" => "sport",
    );

    $res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize" => 9999), $arSelect);
    while ($ob = $res->GetNextElement()) {
        $arFields = $ob->GetFields();
        $arProps = $ob->GetProperties();
        pre2($arFields['NAME']);
//        pre2($arProps);

        foreach ($arProps['MORE_PHOTO_2']['VALUE'] as $item) {
            $res_img = CIBlockElement::GetByID($item);
            if ($ar_res_img = $res_img->GetNext()) {
                //pre2($ar_res_img['DETAIL_PICTURE']);
                $files[] = [
                    'VALUE' => CFile::MakeFileArray($ar_res_img['DETAIL_PICTURE']),//CFile::MakeFileArray
                    'DESCRIPTION' => $ar_res_img['NAME']//поле DESCRIPTION обязательно
                ];
            }
        }
        CIBlockElement::SetPropertyValuesEx(
            $arFields['ID'],
            $IBLOCK_ID,
            array("MORE_PHOTO" => $files)
        );
        unset($files);
    }
Афоризм дня:
Лживость – гнуснейший порок. (605)

Leave a reply