Я добавляю изображения к продуктам программно. Каждый товар может иметь от 1 до n изображений. Поэтому я переупорядочиваю массив изображений так, как мне нужно, а затем для первого изображения массива (которое должно быть первым, которое будет отображаться на странице продукта и в представлении списка продуктов) я устанавливаю атрибут media_attribute по мере необходимости (изображение , small_image, миниатюра).
Кажется, все работает нормально, и изображения правильно упорядочены в деталях продукта, но маленькое изображение и миниатюра не установлены.
Это фрагмент кода, который я использую для добавления изображений (обычно используется везде)
ksort($prod_images);
foreach($prod_images as $key=>$img){
$imgPath = $dirName . $img;
try{
if($key == 1){
$prod->addImageToMediaGallery($imgPath, array('image', 'small_image','thumbnail'), false, false);
}else{
$prod->addImageToMediaGallery($imgPath, null, false, false);
}
$prod->save();
}catch(\Exception $e){
}
}
В конце концов мне удалось установить правильное изображение как маленькое/большое/базовое, если я переверну массив и добавлю его как последнее изображение, но таким образом порядок изображений неверен, и мне нужно сохранить его или в конечном итоге изменить, но я не мог найти способ для этого.
Любая подсказка?
ИЗМЕНИТЬ
Я нашел патч, но на самом деле он меня не удовлетворяет... после первого сохранения продукта я вспоминаю существующие образы и устанавливаю первый как базовый/большой/маленький, и вроде работает, но на самом деле тратит много времени...
поэтому я все еще ищу реальное решение.