我正在开发一个单页面应用程序,它具有完全客户端呈现的前端(React),而Shopware在后台充当无头CMS。因此,所有产品数据都将从API中提取,结帐时也会使用API发送数据。
我的问题如下:
在尝试呈现产品列表页面时,我调用articles endpoint,它返回所有产品的基本信息。问题是我还需要渲染与每个产品相关的主图像,这个列表不会暴露附加到产品的媒体上的任何数据。
我可以使用Media endpoint获取产品的媒体项目,问题是此版本需要媒体ID,我无法从列出的文章表示中获取。
所以现在我看到获取图像的唯一方法是首先拨打获取所有产品的电话,然后循环浏览它们并获取每个产品的详细信息,再次使用每个产品ID调用文章端点,然后当我有媒体ID我遍历这些ID并使用媒体端点获取每个产品的图像,因为这是唯一一个在响应中公开实际图像路径的图像。这似乎过于复杂和缓慢。
有更聪明的方法吗?我可以让Shopware在文章列表响应中输出与当前产品相关的第一张图片的路径吗?
此外,我看到图像的路径如下所示: /media/image/f5/fb/95/03_200x200.jpg
直到 / media / image / 的第一部分是固定的,这是直截了当的,我在媒体对象甚至文件扩展名的文章详细信息响应中得到图像的文件名和扩展名, API的响应中which looks like this。
问题在于我不知道 f5 / fb / 95 / 代表什么。如果我可以从详细信息中获取此信息,我可以通过编程方式组装图像的URL,然后我就不需要调用媒体端点了。
非常感谢任何帮助。提前致谢!