国际电子商务技术 & Magento开发公司

Maishen technologies

Welcome visitor! You canlogin orcreate an account.

热线:+86-0532-58973093

麦神科技有限公司
Mygod Technologies

官方认证开发工程师

Magento产品多图导入

2013年3月4日星期一 Asia/Shanghai下午5:05:21

本文在Magento CE 1.7.0.1版本下通过。

Magento通过csv表格批量导入产品时,不可避免的要遇到多个产品图片导入的问题。 不知道为什么,一直在细节上把握很好的Magento,竟没有解决这个重要问题。

解决方法:复制文件下面文件到local代码池

1 app/code/core/Mage/Catalog/Model/Convert/Adapter/Product.php

在saveRow()函数的结尾部分增加导入多图Gallery的逻辑。如下:

01 public function saveRow(array $importData)
02 {
03     // ...
04  
05     // 导入多图逻辑开始
06     try {
07             $galleryData = explode(';',$importData["gallery"]);
08  
09             foreach($galleryData as $gallery_img)
10             {
11                 /**
12                   * @param directory where import image resides
13                   * @param leave 'null' so that it isn't imported as thumbnail, base, or small
14                   * @param false = the image is copied, not moved from the import directory to it's new location
15                   * @param false = not excluded from the front end gallery
16                   */
17                 $product->addImageToMediaGallery(Mage::getBaseDir('media') . DS . 'import' . $gallery_img, null, false, false);
18             }
19         }
20     catch (Exception $e) {}
21     // 导入多图逻辑结束
22  
23     $product->setIsMassupdate(true);
24     $product->setExcludeUrlRewrite(true);
25     $product->save();
26 }

导入多图时,相应地在csv表格中增加一列,列名为:gallery。多张图片之间以英文分号(;)来分开,并去掉首图。

假设某产品有三张图片,位于media/import/2012/文件夹下,分别是a.jpg, b.jpg, c.jpg,其中a.jpg为首图。则导入csv表格(片段)如下:

1 image           small_image     thumbnail        gallery
2 -----------     -----------     -----------      -----------------------
3 /2012/a.jpg     /2012/a.jpg     /2012/a.jpg      /2012/b.jpg;/2012/c.jpg

需要注意的是:当产品文字信息变化了,在csv表格中修改,然后重复导入,这样会造成产品图片重复,可以先删除掉该产品再导入。另外一个好方法是: 删掉csv表格中的image, small_image, thumbnail, gallery等列,再导入。

Posted in magento扩展 By

Isabel

0 评论

提交评论




*必要字段

 
  • Mygod Technologies
  • 麦神科技有限公司
  • 香港中路8号
  • 中铁青岛中心大厦A3001
  • 市南区, 青岛, 266000
  • 电话: 0532-5897-3093

订阅我们的最新消息。

我们将严格尊重您的隐私。

关注我们的微信
获取外贸电子商务最新资讯;跨境推广最新策略;电子商务网站技术最新趋势。

2018 Mygod Technologies. 保留所有权. Privacy Policy