0

我通过使用 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

4 回答 4

0

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

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

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

文件:/media/import/1_7_138.jpg

不幸的是,Magento 无法导入自己的出口!因此,必须修改导出的 CSV,才能在另一个 Magento 安装中导入。

于 2013-03-26T16:46:17.877 回答
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');

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

于 2013-03-25T23:04:27.117 回答
0

不确定您是否仍有问题,但为了帮助您列出的 INSERT 查询,它不起作用,因为单引号被转义。我猜你在某处的帖子中找到了这个查询,当查询发布时,单引号用“\'”转义。

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

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

然后查询应该可以工作。我还建议作为一种好的做法,您首先在没有插入命令的情况下运行选择,以确保它在盲目运行插入命令之前返回良好的结果。

于 2013-11-20T23:49:05.457 回答
0

签入以下

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

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

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

额外刷新缓存并检查。

于 2013-03-26T03:41:49.833 回答