Liferay动态数据列表:如何获取图像URL?

时间:2016-09-21 08:15:43

标签: dynamic liferay velocity datalist

我正在为动态数据列表创建速度的自定义模板,我想获取所选图像的图像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-589be48‌​99281","version":"1.‌​0"}

有什么建议吗?

2 个答案:

答案 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将检查是否选择了图像。