我尝试设置一个新的magento产品图片,例如 che_3.png with:
$visibility = array (
'thumbnail',
'small_image',
'image'
);
$product->addImageToMediaGallery( $file, $visibility, true, false);
产品图片从
移开临时目录: /media/tmp/catalog/product/upload/sessionid/original/che_3.png
到
目的地目录: /media/catalog/product/c/h/che_3.png
现在,如果我想调用图像文件路径 - 由magento保存 - 是错误的。 media_gallery对象如下所示:
[media_gallery] => Array
(
[images] => Array
(
[0] => Array
(
[value_id] => 89
[file] => /c/h/che_3_2_1.png //che_3.svg is already in here
[label] =>
[position] => 1
[disabled] => 0
[label_default] =>
[position_default] => 1
[disabled_default] => 0
)
[1] => Array // why this second item?
(
[value_id] => 88
[file] => /c/h/che_3_2.png
[label] =>
[position] => 1
[disabled] => 0
[label_default] =>
[position_default] => 1
[disabled_default] => 0
)
)
[values] => Array
(
)
)
正如您所看到的,文件名由magento扩展,并且还有两个项目被添加到media_gallery。
我的问题是我如何分别重置产品内部计数器,以便magento正在使用原始文件?
提前致谢。
答案 0 :(得分:2)
问题已解决:我已使用$product->save()
两次保存了产品,似乎$product->addImageToMediaGallery()
也执行了两次。