Загружается оригинальная картинка в свойство "оригинальная картинка". Есть 3 свойства "большой квадрат", "маленький квадрат" и "прямоугольник"
так же есть 3 временных свойства "большой квадрат (временное)", "маленький квадрат (временное)" и "прямоугольник (временное)"
проблема в том, что картинки после второго ресайза добавляются те же самые, что и после первого. размеры одинаковые, хотя пути разные. в чем может быть проблема?
код
так же есть 3 временных свойства "большой квадрат (временное)", "маленький квадрат (временное)" и "прямоугольник (временное)"
проблема в том, что картинки после второго ресайза добавляются те же самые, что и после первого. размеры одинаковые, хотя пути разные. в чем может быть проблема?
код
| Код |
|---|
class AddImage{
function AddImageFunc($arFields){
$el = new CIBlockElement;
$element_id = $arFields['ID'];
// первый ресайз
$res = CIBlockElement::GetList(
array('sort'),
array('ID' => $element_id),
false,
false,
array("ID", "NAME", "PROPERTY_ORIGINAL")
);
while($ob = $res->GetNextElement()){
$arFieldsElement = $ob->GetFields();
}
$original_image_id = $arFieldsElement['PROPERTY_ORIGINAL_VALUE'];
$big_r1 = CFile::ResizeImageGet(
$original_image_id,
array('width'=>820, 'height'=>820),
BX_RESIZE_IMAGE_PROPORTIONAL_ALT,
true
);
$small_r1 = CFile::ResizeImageGet(
$original_image_id,
array('width'=>410, 'height'=>410),
BX_RESIZE_IMAGE_PROPORTIONAL_ALT,
true
);
$rectangle_r1 = CFile::ResizeImageGet(
$original_image_id,
array('width'=>820, 'height'=>410),
BX_RESIZE_IMAGE_PROPORTIONAL_ALT,
true
);
$big_file_array = CFile::MakeFileArray($big_r1['src']);
$small_file_array = CFile::MakeFileArray($small_r1['src']);
$rectangle_file_array = CFile::MakeFileArray($rectangle_r1['src']);
$PROP = array(
'BIG_TIME' => array("n0" => $big_file_array),
'SMALL_TIME' => array("n0" => $small_file_array),
'RECTANGLE_TIME' => array("n0" => $rectangle_file_array)
);
$el->Update($element_id, array('PROPERTY_VALUES' => $PROP));
// второй ресайз
$res = CIBlockElement::GetList(
array('sort'),
array('ID' => $element_id),
false,
false,
array("ID", "NAME", "PROPERTY_BIG_TIME", "PROPERTY_SMALL_TIME", "PROPERTY_RECTANGLE_TIME")
);
while($ob = $res->GetNextElement()){
$arFieldsElement = $ob->GetFields();
}
$big_image_id = $arFieldsElement['PROPERTY_BIG_TIME_VALUE'];
$small_image_id = $arFieldsElement['PROPERTY_SMALL_TIME_VALUE'];
$recangle_image_id = $arFieldsElement['PROPERTY_RECTANGLE_TIME_VALUE'];
$big_r2 = CFile::ResizeImageGet(
$big_image_id,
array('width'=>820, 'height'=>820),
BX_RESIZE_IMAGE_EXACT,
true
);
$small_r2 = CFile::ResizeImageGet(
$small_image_id,
array('width'=>410, 'height'=>410),
BX_RESIZE_IMAGE_EXACT,
true
);
$rectangle_r2 = CFile::ResizeImageGet(
$recangle_image_id,
array('width'=>820, 'height'=>410),
BX_RESIZE_IMAGE_EXACT,
true
);
$big_file_array2 = CFile::MakeFileArray($big_r2['src']);
$small_file_array2 = CFile::MakeFileArray($small_r2['src']);
$rectangle_file_array2 = CFile::MakeFileArray($rectangle_r2['src']);
$PROP2 = array(
'BIG' => array("n0" => $big_file_array2),
'SMALL' => array("n0" => $small_file_array2),
'RECTANGLE' => array("n0" => $rectangle_file_array2)
);
$el->Update($element_id, array('PROPERTY_VALUES' => $PROP2));
}
}
|