我正在为动态数据列表创建速度的自定义模板,我想获取所选图像的图像URL。我怎么能得到它?
代码是:
#set ( $DDLRecordService = $serviceLocator.findService("com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalService") )
#set ( $records = $DDLRecordService.getRecords($mathTool.toNumber($reserved_record_set_id)) )
#foreach ($record in $records)
#set( $fields = $record.getFields() )
#set( $URL = $fields.get("URL").getValue() )
#set( $Link = $fields.get("Linktitle").getValue() )
#set( $Preview = $fields.get("Vorschaubild").getValue() ) ##the image is here
$URL
$Link
$Preview
#end
$preview
输出为:{"groupId":"0000000","uuid":"ccdaccec-00a0-4284-a000-589be4899281","version":"1.0"}
有什么建议吗?
答案 0 :(得分:0)
如果将UUID_HERE替换为真正的UUID,它将起作用。
<a href='${themeDisplay.getPortalURL()}/c/document_library/get_file?uuid=UUID_HERE&groupId=${themeDisplay.getScopeGroupId()}'>MyFile OR Image</a>
答案 1 :(得分:0)
我也遇到过类似的情况,在互联网上搜索了一个小时后,除了LPS-34792票证之外,没有找到任何有用的信息。
好吧,您可以使用以下方法从“文档和媒体”字段在UI上呈现图像:
<#assign hasPicture = cur_record.getFieldValue("picture")?has_content>
<#if hasPicture>
<#assign picture = jsonFactoryUtil.createJSONObject(cur_record.getFieldValue("picture"))>
<img src='/documents/${picture.getString("groupId")}/${picture.getString("uuid")}' />
</#if>
picture
是字段名称,hasPicture
将检查是否选择了图像。