Magento CSV导入图像丢失

时间:2013-03-25 22:26:47

标签: mysql magento csv import magento-1.7

我通过使用magento中的导入/导出工具导出它们来编辑我的产品,在我导入它之后我遇到了重新索引过程出现问题,我最终修复了。

但是现在我的所有图片都丢失了并且没有显示在前端,有人可以帮我解决这个问题吗?

/ 1 / _ / 1_7_138.jpg是CSV图像位置

的格式

我还尝试将媒体/类别/产品中的图像移动到媒体/导入但仍未正确显示

我还尝试在媒体文件夹中编辑755到77的文件权限,但仍然没有

我也在相应的SQL数据库中运行它

INSERT INTO catalog_product_entity_media_gallery (attribute_id, entity_id, `value`)
SELECT ga.attribute_id, v.entity_id, v.value
FROM catalog_product_entity_varchar v
INNER JOIN eav_entity_type et ON et.entity_type_code=\'catalog_product\'
INNER JOIN eav_attribute va ON va.entity_type_id=et.entity_type_id AND
va.frontend_input=\'media_image\' AND va.attribute_id=v.attribute_id
INNER JOIN eav_attribute ga ON va.entity_type_id=et.entity_type_id AND
ga.attribute_code=\'media_gallery\'
LEFT JOIN catalog_product_entity_media_gallery g ON g.entity_id=v.entity_id AND
g.value=v.value
WHERE v.value<>\'no_selection\' AND v.value<>\'\' AND g.value IS NULL;

并收到以下错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '\'catalog_product\' INNER JOIN
eav_attribute va ON va.entity_ty

4 个答案:

答案 0 :(得分:0)

不确定您是否遇到了与我相同的问题,但是当我重新导入产品时,我的图片突然图片仍然与产品相关联,只是没有设置为基础,小,缩略图等

我做了类似

的事情
update catalog_product_entity_varchar AS v inner join catalog_product_entity_media_gallery AS g on v.entity_id = g.entity_id set v.value = g.value where (v.attribute_id = '85' or v.attribute_id = '86' or v.attribute_id = '87');

在我的数据库中重新分配它们。

答案 1 :(得分:0)

检查

中的以下内容

数据库表catalog_product_entity_media_gallery是否有您要查找的图像条目。

类似于1 703 17/1 / _ / 1_7_138.jpg

然后转到media / catalog / product / 1 / _ /并检查此图像文件是否存在。

额外刷新缓存并检查。

答案 2 :(得分:0)

使用“导入/导出”时,media / import文件夹中的文件夹结构必须与csv文件中指定的相同。因此,如果您的CSV中的媒体文件名被指定为“/1/_/1_7_138.jpg”,那么 必须存在您的文件“/media/import/1/_/1_7_138.jpg” Magento root。否则导入/导出将找不到媒体文件。

最简单的解决方案是,不在csv中定义文件夹结构,并将所有应导入的媒体文件直接放在media / import /中。所以在你的情况下:

CSV条目(例如,在“缩略图”列中):1_7_138.jpg

档案:/media/import/1_7_138.jpg

不幸的是,Magento无法进口自己的出口产品!因此,必须修改导出的CSV,以便可以在另一个Magento安装中导入。

答案 3 :(得分:0)

不确定您是否仍然遇到问题,但为了帮助您列出的INSERT查询,它不起作用,因为单引号已转义。我猜你在某个帖子里发现了这个查询,当查询发布时,单引号用“\”进行转义。

如果您将所有\'更改为单引号,如下所示:

INSERT INTO ......
INNER JOIN eav_entity_type et ON et.entity_type_code ='catalog_product'&lt; - 是我将''改为一个'的地方。您需要对整个查询执行此操作。

然后查询应该有效。我还建议您首先在没有insert命令的情况下运行select,以确保在盲目运行insert命令之前返回良好的结果。