Pimcore DataDirector中implode无法返回imageGallery项路径,如何获取图片URL?
解决DataDirector导出资产图片/缩略图URL列表的问题
问题分析
你当前的字段表达式imageGallery:Items:implode:Thumbnail#somename:Path逻辑错误:implode会先将Items数组拼接成字符串,再尝试从这个字符串中读取Thumbnail#somename:Path属性——而字符串不存在该属性,因此返回空值。而imageGallery:Items返回的是本地临时文件路径数组,这是导出时系统自动生成的临时文件引用,并非线上资产URL。
解决方案
1. 获取资产原图的URL列表
使用each遍历每个图库项,提取对应资产的原图路径,再按需用implode拼接成字符串:
imageGallery:Items:each:Asset:Path:implode:,
如果不需要拼接成字符串,保留数组格式,可去掉:implode:,:
imageGallery:Items:each:Asset:Path
2. 获取指定缩略图的URL列表
针对你定义的somename缩略图,调整表达式为遍历每个图库项,提取对应资产的缩略图路径:
imageGallery:Items:each:Asset:Thumbnail#somename:Path:implode:,
同样,若需数组格式则去掉:implode:,:
imageGallery:Items:each:Asset:Thumbnail#somename:Path
关键逻辑说明
each:遍历Items数组中的每个资产项Asset:关联到图库项对应的资产对象,确保能读取资产的缩略图属性Thumbnail#somename:Path:指定读取名为somename的缩略图的路径属性implode:,:将数组元素用逗号拼接成字符串,可根据需求替换分隔符
内容的提问来源于stack exchange,提问作者Eugene Kaurov
相关产品推荐
相关产品推荐

