testest
Артикул: 11test22
в наличии
1 200 000 ₽
Нашли дешевле? Снизим цену!
?
-
Доставка по Москве от 199 ₽
?
-
Доставка по РФ от 199 ₽
?
-
Самовывоз со склада в Москве
?
-
Самовывоз ПВЗ послезавтра и позже
?
ANYCODE
\<?phprequire($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");

- use Bitrix\Main\Loader;
- use Bitrix\Iblock\ElementTable;
- use Bitrix\Iblock\PropertyTable;
- use Bitrix\Main\FileTable;
Loader::includeModule("main");
$IBLOCK_ID = 42; // ID инфоблока
// Загружаем все товары из Битрикс
$arFilter = ["IBLOCK_ID" => $IBLOCK_ID];
$arSelect = ["ID", "DETAIL_PICTURE", "PROPERTY_PHOTOS", "PROPERTY_BREEZ_ID"];
$rsItems = CIBlockElement::GetList([], $arFilter, false, false, $arSelect);
$arBitrixItems = [];
while ($arItem = $rsItems->Fetch()) {
$breezId = $arItem["PROPERTY_BREEZ_ID_VALUE"];
if ($breezId) {
$arBitrixItems[$breezId] = [
"ID" => $arItem["ID"],
"DETAIL_PICTURE" => $arItem["DETAIL_PICTURE"],
"PHOTOS" => is_array($arItem["PROPERTY_PHOTOS_VALUE"]) ? $arItem["PROPERTY_PHOTOS_VALUE"] : [],
];
}
}
// Загружаем товары из Breez
$arItemsTemps = Cbreez\Import::productAll();
foreach ($arItemsTemps as $item) {
$breezId = $item["code"];
if (!isset($arBitrixItems[$breezId])) {
continue; // Пропускаем, если товара нет в Битрикс
}
$bitrixItem = $arBitrixItems[$breezId];
$bitrixId = $bitrixItem["ID"];
$breezPhotos = $item["photo"];
if (empty($breezPhotos)) {
continue; // Пропускаем, если в Breez нет фото
}
// Если в Breez одно фото — удаляем свойство PHOTOS
if (count($breezPhotos) === 1) {
foreach ($bitrixItem["PHOTOS"] as $photoId) {
CFile::Delete($photoId);
}
CIBlockElement::SetPropertyValuesEx($bitrixId, $IBLOCK_ID, ["PHOTOS" => []]);
continue;
}
// Если в Breez 2 и более фото
$newPhotos = array_slice($breezPhotos, 1); // Берем фото, начиная со второго
if (count($newPhotos) !== count($bitrixItem["PHOTOS"])) {
// Удаляем старые фото
foreach ($bitrixItem["PHOTOS"] as $photoId) {
CFile::Delete($photoId);
}
// Загружаем новые фото
$uploadedPhotos = [];
foreach ($newPhotos as $photoUrl) {
$fileArray = CFile::MakeFileArray($photoUrl);
if ($fileArray) {
$uploadedPhotos[] = CFile::SaveFile($fileArray, "iblock");
}
}
// Обновляем свойство PHOTOS
CIBlockElement::SetPropertyValuesEx($bitrixId, $IBLOCK_ID, ["PHOTOS" => $uploadedPhotos]);
}
}
char 1
1
char 2
2
char. 3
34
char 4
4
char5
5