如何实现Magento产品批量导入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现Magento产品批量导入相关的知识,希望对你有一定的参考价值。
参考技术A 1.登录后台----system---Inport/Export先选择 export,也就是先导出一个CSV格式的批量上传文件。
如果网站里没有产品,需要先添加一个产品后才能导出一个批量上传用的CSV文件
CSV文件可以使用 EXCEL软件来编辑。
2.导出选项说明
在EXPORT 里我们选择导出类型为 Products,系统会自动刷新显示很多选项,这些不管,直接滚动浏览器到页面最底部,点击
按钮导出。
3.CSV文件说明
在导出的CSV文件里,必填的几列如下:
_media_attribute_id:产品属性ID,使用导出的CSV的默认值即可(必填);
SKU:这个是必填而且全站必须唯一,不能有跟其他相同的,如果相同会覆盖掉(必填);
_category:
产品分类,如果产品属于一级的,则填写分类名称,比如分类名称为:Jewelry,那直接填写Jewelry
即可,如果产品属于第二级的,则填写为:Jewelry/subcate (也就是把一级和二级的分类名称都填写进来,两个分类之间用 斜杠 分开)
(必填);
_root_category:默认值Default Category,可不改动;
Description:产品详细描述里的内容,支持填写html格式的(必填);
Image:产品图片,产品图片必须都上传到Media/Import目录下(必填);
_media_image:产品中图,可填写跟Image一样的图片路径(必填)
small_image:产品小图,可填写跟Image一样的图片路径(必填);
thumbnail:产品缩略图,可填写跟Image一样的图片路径(必填);
name:产品名称(必填);
price:产品价格(必填);
special_price:产品特价(选填);
status:产品状态,默认值 1 ,如果不显示,就填写数字0 (必填);
short_description:产品简短描述(必填);
visibility:产品是否显示的选项,默认值 4(必填);
weight:产品重量(必填);
qty:产品数量(必填);
is_in_stock:是否有库存,默认值 1,如果产品没库存了,可填写为 0 (必填);
meta_description:产品简短描述,用来显示在谷歌搜索结果那的一段文字(选填);
meta_keyword:产品页面关键词(选填);
meta_title:自定义网页标题,可与产品名称不同,谷歌优化使用,如果不填,默认使用产品名称做为标题(选填);
其他列可按情况增加或删除。
所有要批量上传的图片,都必须上传到 FTP的 www/media/import目录下,如果产品有分类为文件夹的,也都上传到import目录下
4.那么在CSV里的填写路径是怎么样的?
如果是直接图片的话,在CSV的IMAGE列里填写:/图片名称.jpg
如果图片在某个文件夹下的,填写:/文件夹名称/图片名称.jpg
注意文件夹名称不能有中文,有空格,最好是一个单词的。
5.如何使用FTP软件上传图片到网站空间里?
下载FTP软件—FlashFXP,安装完软件后,打开软件---
----
地址或URL 里填写IP地址,输入FTP账户和密码,之后点击连接即可;
然后把所有的本地电脑上的图片上传到/www/media/import/目录下;
FTP软件的左边一般为本地电脑上的,右边为网站空间里的。
如何在Magento(麦进斗)导入CSV文件中的产品价格的变化?
上传CSV文件使用Magento导入功能时,产品价格会随着自定义计算公式自动改变。
我的解决办法,代码如下:
<adminhtml> <events> <catalog_product_import_finish_before> <observers> <test_module1_catalog_product_import_after> <type>singleton</type> <class>gold_pricechange/observer</class> <method>afterImportProductData</method> </test_module1_catalog_product_import_after> </observers> </catalog_product_import_finish_before> </events> </adminhtml> public function afterImportProductData(Varien_Event_Observer $observer) { $adapter = $observer->getEvent()->getAdapter(); $affectedEntityIds = $adapter->getAffectedEntityIds(); for($i=0;$i<count($affectedEntityIds);$i++) { $product_id = $affectedEntityIds[$i]; $product = Mage::getModel(‘catalog/product‘)->load($product_id); $product->setPrice($product->getPrice() * 1.2); //1.2 will come from my calculation function $product->save(); $product->clearInstance(); } }
希望能帮到你们。
以上是关于如何实现Magento产品批量导入的主要内容,如果未能解决你的问题,请参考以下文章