如何在导入时更改图像的Magento目录结构
-
12-12-2019 - |
题
我试图做的是更改导入图像的默认文件夹结构。例如,当您导入图像时,magento将目录结构默认为图像的第一个和第二个字母,以在/media/catalog/product/X/Y/XYimage下创建目录结构。jpg
我希望能够修改核心以允许我将其更改为类似的内容:/媒体/目录/产品/SKU/XYZ/SKUXYZimage.jpg 因此,前3个字母是目录的顶层,后3个字母是目录的第二层。
解决方案 2
这是一个简单的解决方法,刚刚测试了超过60k的产品。安装Magmi(搜索谷歌)。导航至 \magmi\plugins\extra\itemprocessors\imageprocessor
打开 imageitattributeemprocessor.php
用你最喜欢的编辑器转到并用这个小修改替换496到505。
$i1 = $bimgfile[0];
$i2 = $bimgfile[1];
$i3 = $bimgfile[2];
$i4 = $bimgfile[3];
$i5 = $bimgfile[4];
$i6 = $bimgfile[5];
// magento image value (relative to media catalog)
$impath = "/$i1$i2$i3/$i4$i5$i6/$bimgfile";
// target directory;
$l2d = "media/catalog/product/$i1$i2$i3/$i4$i5$i6";
正如你所看到的,我选择了$impath来设置我的结构
"/$i1$i2$i3/$i4$i5$i6/$bimgfile"
翻译sku123456.jpg将是 media/catalog/product/sku/123/sku123456.jpg
对不起,粗图纸(我是新来的)
永远记住,如果你升级Magmi,这可以写完,所以总是备份你的文件。
其他提示
回溯代码
Mage_Catalog_Model_Product::addImageToMediaGallery
Mage_Catalog_Model_Product_Attribute_Backend_Media::addImage
Varien_File_Uploader::getDispretionPath
似乎路径在这里构建。由于您无法从自定义模块复盖变量文件,因此您必须将该文件复制到 app/code/local/Varien/File/Uploader.php
.在那里,您可以更改路径的构建方式。
然而,在这种情况下,这不仅会影响产品。你可能想复盖 Mage_Catalog_Model_Product_Attribute_Backend_Media::addImage
从自定义模块将更改的范围限制为仅产品。所以不要打电话 Mage_Core_Model_File_Uploader::getDispretionPath
在线上 286
您可能希望将该行更改为调用用于返回路径的自定义方法。