如何实现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产品批量导入的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 如何批量导入含有大量html的Csv,csv是一个产品表,包含1000条产品,每

批量 XML 导入 - 最好/最快的方式?

tsc4503批量导入

如何通过SqlBulkCopy实现批量导入数据

asp如何导入excel内容

Magento 将产品批量分配到类别