Magento 2 - 类别图像 URL 显示两条路径

Magento 2 - Category Image URL showing two paths

有点奇怪,但希望它很容易解决。

我已经将一些产品类别图片上传到管理客户端的某些类别页面,但是当我在网络上查看它们时,它们没有加载。原因似乎是它试图在 src 属性中加载两个路径,这两个路径略有不同。

我需要做些什么来解决这个问题...:-)

src="https://www.myurl.com/pub/media/catalog/category//pub/media/catalog/tmp/category/25mm.jpg"

如您所见,URL 中有两条路径,一条是 "tmp"(粗体),如果我修改 SRC,这一条就会加载。它似乎在 URL?

之前

如有任何想法,我们将不胜感激。

src="/pub/media/catalog/tmp/category/25mm.jpg" <- 这个加载图像?

您使用哪个版本的 magento 2? 我对 magento 2.3.4 有过类似的问题 当您保存刚刚为其添加图像的类别时。处理类别图像的模型不会将您的图像从 tmp 文件夹移动到 pub/media/catalog/category(应该是图像的路径)。 因此,您必须从类别覆盖到 Image.php 模型,以便在保存后从 tmp 移动文件。 希望对您有所帮助。

从 Magento 2.3.4 开始出现这个问题。

/vendor/magento/module-catalog/Model/Category/Attribute/Backend/Image.php public 函数 beforeSave($object)

在代码下面的这个方法中正在创建问题

$value[0]['url'] = '/' . $baseMediaDir . '/' . $newImgRelativePath;
$value[0]['name'] = $value[0]['url'];

更新为

$value[0]['url'] = $baseMediaDir . $newImgRelativePath;
$value[0]['name'] = $value[0]['name'];

这将解决问题 不要忘记从您的模块中覆盖此文件以避免直接更改核心文件

Github 问题:https://github.com/magento/magento2/issues/28100