Magento - 使用产品表单csv文件添加多个图像?

时间:2012-02-15 01:45:14

标签: php magento magento-1.4

我需要在详细信息页面上显示多个产品图像,因此我在csv文件中添加了名为gallery的i列。并在框中添加这样的值

/hogan/gray1.jpg,/hogan/gray2.jpg,/hogan/gray3.jpg

我将图像放入import/hogan文件中。然后导入csv文件。但是细节页面上没有显示多个产品图片。为什么?

6 个答案:

答案 0 :(得分:3)

我没有使用过画廊图片,但我不确定你真正想要的是什么。如果您想在产品详细信息页面中导入多个图像,请参阅CSV文件。

1)Magento中的CSV导入假设您的图像处于媒体/导入状态。因此,应该从那里列出CSV文件中的所有引用。例如,如果要导入的图像是:

媒体/进口/ image1.jpg

然后您的图像需要在CSV文件中列为/image1.jpg(需要前导斜杠)。

2)添加媒体图片'使用列: _media_attribute(似乎默认为77,检查导出以确认) _media_image - 这是图像文件的名称(例如/image1.jpg) _media_lable(注意拼写错误不是拼写错误) - 这是图像标签 _media_position - 图像排序(例如1,2,3,......) _media_is_disabled - 1 =禁用,0 =启用

在一个产品的多行上输入多个图像,例如:

 _media_attribute  _media_image  _media_lable  _media_position  _media_is_disabled
 77                /image1.jpg   Image 1 label     1            0
 77                /image2.jpg   Image 2 label     2            0

如果你想将这些中的任何一个指定为默认图像,小图像或缩略图,那么你需要将相同的图像和标签放在(image,image_label),(small_image,small_image_label)的相应列中(thumbnail ,thumbnail_label)。

希望有所帮助。

答案 1 :(得分:2)

以下是使用Magento 1.6.1的DataFlow Importer进行的操作,从here

获取
  1. 因此,您不要编辑核心文件,将 app / code / local / Mage / Catalog / Model / Convert / Adapter / Product.php 的副本复制到 app / code /本地/法师/目录/型号/转换/适配器/
  2. 编辑 app / code / local / Mage / Catalog / Model / Convert / Adapter / Product.php 并在第799行后添加以下内容:
  3.   if (isset($importData['media_gallery']) && !empty($importData['media_gallery'])) {
            $x = explode(',', $importData['media_gallery']);
            foreach ($x as $file) {
                $imagesToAdd[] = array('file' => trim($file));
            }
            $mediaGalleryBackendModel->addImagesWithDifferentMediaAttributes(
                $product,
                $imagesToAdd, Mage::getBaseDir('media') . DS . 'import',
                false,
                false
            );
        } 
    

    ...所以你最终得到了这个:

    
    793         $addedFilesCorrespondence = $mediaGalleryBackendModel->addImagesWithDifferentMediaAttributes(
    794             $product,
    795             $arrayToMassAdd, Mage::getBaseDir('media') . DS . 'import',
    796             false,
    797             false
    798         );
    799 /* http://www.magentocommerce.com/boards/viewthread/224928/P30/#t403196 */
    800  if (isset($importData['media_gallery']) && !empty($importData['media_gallery'])) {
    801             $x = explode(',', $importData['media_gallery']);
    802             foreach ($x as $file) {
    803                 $imagesToAdd[] = array('file' => trim($file));
    804             }   
    805             
    806             $mediaGalleryBackendModel->addImagesWithDifferentMediaAttributes(
    807                 $product,
    808                 $imagesToAdd, Mage::getBaseDir('media') . DS . 'import',
    809                 false,
    810                 false
    811             );
    812         }       
    
    

    如果是您的CSV文件,请添加名为* media_gallery *的列,并将其他图片放入/ media / import:

    media_gallery
    -------------
    /s/e/second_image.png, /t/h/third_image.png,/f/o/fourth_image.png
    

答案 2 :(得分:1)

不确定这是否仍然正确,但根据此Magento wiki entry,默认数据导入似乎无法正确处理库图像。

您可以按照维基页面上的建议在每次导入后运行SQL脚本,或者您可以使用Magmi这样的东西,我从经验中知道,正确处理图库图像...并且比默认的Magento导入程序

答案 3 :(得分:0)

无法发表评论,因此不得不发布解决方案......

PCProffit正在使用导入扩展程序来解决他的问题。更具体地说,这个: http://www.magentocommerce.com/magento-connect/amartinez-customimportexport.html

截至Magento 1.7.0我遇到了这个问题。我有两个扩展(Groups2Customers和高级自定义选项)。基本上问题是导入产品时media_gallery表没有正确更新。 CCBlackburn提供了一个指向SQL的链接,它将更新库表(不能用0表示upvote)......

如果您没有使用任何需要导入其他字段的扩展程序,Magmi将会很好地处理这个问题。如果是,则需要在执行任何导入后执行SQL,或修复导入的代码。

答案 4 :(得分:0)

使用产品表单csv文件添加多个图像,您无需在任何文件中进行任何自定义此功能已在magento中,为此您需要在magento admin中使用“导入/导出”来上传产品和多个图像更新,请看看我们如何添加多个图像,请参见下面的内容:

1. you need to create csv file for upload products, you will use this

go to admin > system >import/export > export and download csv for using product import.

2. then create you csv like this(Please see attached screen shot) for upload multiple image in one product.

enter image description here

3. go to admin > system >import/export > import check your csv correct or not then import and check you will see in your product all images are add.

if any issue please let me know.

Thanks
Ravi

答案 5 :(得分:0)

我认为你可以使用它并可以导入多个图像

sku |图片| small_image |缩略图

MAN-1 | /Man/3.jpg | /Man/3.jpg | /Man/3.jpg

MAN-1 | /Man/2.jpg | /Man/2.jpg | /Man/2.jpg

MAN-1 | /Man/1.jpg | /Man/1.jpg | /Man/1.jpg

您将放在最后一行的图片将在管理员和前端中显示为已选中。