本文转自:http://www.phpstudio.info/show-121-791-1.html

一般来说,Magento后台管理里的CSV批量导入,可以解决我们商品批量上传的大部分问题,我们只要根据导出的属性字段,设置好格式,可以实现大部分商品的导入,但是有时候使用Magento批量导入带图片的商品却是十分的麻烦,我们只需要注意以下几点,就可以基本实现Magento产品图片的批量导入和显示了。

一、导出Magento CSV商品属性

我们要上传前,先在Magento中创建几个商品,再在System->Import/Export->Export All Product->Save and Continue Editing->Run Profile,运行之后,就会在Magento目录下的var/export里创建个CSV,我们可以把这个CSV格式下载到本地,用CSV编辑工具来创建Magento批量上传的商品,Magento笔记推荐使用Open Office来编辑CSV文件格式。

二,设置CSV图片文件字段属性

我们在编辑CSV图片文件路径字段时候要注意,一定要在图片文件路径钱加入斜杠(/),例如:

/imagefilename.jpg

三,上传图片并导入

我们在导入MagentoCSV文件之前,一定要将所有要导入的商品图片,先上传到

/media/import

目录里,再上传并运行CSV文件,否则不能把图片导入到Magento数据库里!

四,批量导入后 前台不显示问题的修复

有时候,我们通过MagentoCSV批量导入商品之后,前台的商品的默认图片显示为空,我们只需要修改Magento Product文件里的一个参数,就可以解决Magento批量导入之后,前台商品不显示默认图片的问题,

打开:

app/code/core/Mage/Catalog/Model/Product.php

找到函数addImageToMediaGallery:

public function addImageToMediaGallery($file, $mediaAttribute=null, $move=false, $exclude=true)
{
    $attributes = $this->getTypeInstance(true)->getSetAttributes($this);
    if (!isset($attributes['media_gallery'])) {
        return $this;
    }
    $mediaGalleryAttribute = $attributes['media_gallery'];
    /* @var $mediaGalleryAttribute Mage_Catalog_Model_Resource_Eav_Attribute */
    $mediaGalleryAttribute->getBackend()->addImage($this, $file, $mediaAttribute, $move, $exclude);
    return $this;
}
将$exclude=true修改成$exclude=false,修改之后的结果如下:

public function addImageToMediaGallery($file, $mediaAttribute=null, $move=false, $exclude=false)
{
    $attributes = $this->getTypeInstance(true)->getSetAttributes($this);
    if (!isset($attributes['media_gallery'])) {
        return $this;
    }
    $mediaGalleryAttribute = $attributes['media_gallery'];
    /* @var $mediaGalleryAttribute Mage_Catalog_Model_Resource_Eav_Attribute */
    $mediaGalleryAttribute->getBackend()->addImage($this, $file, $mediaAttribute, $move, $exclude);
    return $this;
}
修改之后,前台就可以正常显示图片了,

总之,我们在批量导入Magento商品的时候,要注意,先上传产品到/media/import目录,CSV的图片路径字段要加斜杠(/),导入之后修改Product.php文件,只要操作时候仔细点,基本上可以正常使用Magento的导入功能。

[转]解决Magento批量导入带图片的商品的问题的更多相关文章

  1. 微信小程序云开发-云存储-获取带图片的商品列表

    一.将商品图片上传至云存储 如下图,已准备5张商品图片,并且已经将商品图片上传至云存储  二.数据库表添加图片字段 在数据库表goods添加字段image,该字段用来存储图片的url信息 image在 ...

  2. 微信小程序云开发-云存储-带图片的商品列表携带id跳转至商品详情

    一.商品列表页 1.wxml文件 在view中添加点击事件goToGoodDetail,绑定数据data-id <!-- 添加点击事件goToGoodDetail --> <view ...

  3. 如何实现Magento产品批量导入?

    从事外贸的我们在工作中,经常需要添加成千上万个的产品,如果一个一个的去上传,要花费很多时间,有是很让人头痛,那么应该如何实现产品批量上传?如果使用的是Magento系统的话,那么你现在有福利了,因为M ...

  4. Magento产品批量导入方法?

    从事外贸的我们在工作中,经常需要添加成千上万个的产品,如果一个一个的去上传,要花费很多时间,有是很让人头痛,那么应该如何实现产品批量上传?如果使用的是Magento系统的话,那么你现在有福利了,因为M ...

  5. [转]iOS:批量导入图片和视频到模拟器的相册

    IOS开发中我们经常会用到模拟器调试,模拟器有个主要的好处就是程序启动块,最重要的是如果没有证书的话,我们就只能在模拟器上调试了.使用模拟器调试时我们可能碰到需要从系统相册选择图片的情况,特别是做图片 ...

  6. 随笔编号-09 批量导入数据(Mysql)报MySQL server has gone away 问题的解决方法

    问题场景: 使用*.sql 脚本,批量导入数据到mysql实例中,使用DOS 界面导入的,期间,到最后一步 source D:\aaa.sql  回车后,系统提示 MySQL server has g ...

  7. 基于.NetCore开发博客项目 StarBlog - (9) 图片批量导入

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  8. 大数据批量导入,解决办法,实践从定时从 sqlserver 批量同步数据到 mySql

    c#代码,批量导入数据代码 public class MySql_Target : ZFCommon.DataAccesser.Base.DABase { public MySql_Target() ...

  9. npoi批量导入实现及相关技巧

    批量导入功能对于大部分后台系统来说都是不可或缺的一部分,常见的场景-基础数据的录入(部门,用户),用批量导入方便快捷.最近项目需要用到批量导入,决定花点时间写套比较通用的Excel导入功能.经过考虑, ...

随机推荐

  1. 网络编程-socket(二)

    https://www.cnblogs.com/mys6/p/10587673.html(网络编程) 持续通话 总结 # 网络开发的架构 :C/S B/S# mac地址是什么 -身份证号# ip地址 ...

  2. jzoj4229

    按照題意暴力模擬即可 #include<bits/stdc++.h> using namespace std; int m; typedef long long ll; ll a1,q,n ...

  3. TmsTimeUtils 时间戳

    package com.sprucetec.tms.utils; import java.math.BigDecimal;import java.text.DateFormat;import java ...

  4. VS2017新建视图中文乱码解决办法

    问题:VS2017 ASP.NET Core 新建视频默认为ASNI编码格式 解决办法 1:直接将视图页面通过记事本打开,然后另存为UTF-8解决. 2:安装扩展TextTools解决视图文件编码问题 ...

  5. ubuntu14中把openssh升级到7.5

    经验证可用 下载相关tar.gz包,没有下载到的,可以在这里下载.http://download.csdn.net/download/songanshu/10023663 apt install -y ...

  6. 第十三章 ReentrantLock 简介

    Java 5.0 提供的新的加锁机制:当内置加锁机制不适合时 , 作为一种可选择的高级功能 一个可重入的互斥锁 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一 ...

  7. 一步步Cobol 400上手自学入门教程06 - 子程序调用

    子程序的命名通常和普通程序的命名方式相同.但是需要注意的是,对于子程序而言,不可将其前缀命名为以下这几个名字. AFB           AFH           CBC          CEE ...

  8. 人工智能-机器学习之seaborn(读取xlsx文件,小提琴图)

    我们不止可以读取数据库的内容,还可以读取xlsx文件的内容,这个库有在有些情况还是挺实用的 首先我们想读取这个文件的时候必须得现有个seaborn库 下载命令就是: pip install  seab ...

  9. Kafka连接SparkStreaming的两种方式

    第一种方式代码: import org.apache.spark.storage.StorageLevel import org.apache.spark.{HashPartitioner, Spar ...

  10. Java抽象类应用—模板方法模式

    模板方法模式(Templete method) 定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中,模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤. 例: ...