liferay - 获取显示模板脚本中的结构字段值

标签 liferay liferay-velocity

我正在尝试为我的 Assets 发布者条目设置自定义显示。 我创建了一个带有“图像”字段(名为“main_image”)的结构,然后, 我创建了一个显示模板来获取条目:

<#if entries?has_content>
    <#list entries as curEntry>
            <div>${curEntry.getTitle(locale)}</div>
        </#if>
    </#list>
</#if>

问题是我不知道如何获取图像字段(结构中声明的“main_image”)值。

我尝试过但没有成功:

<img src = "${curEntry.main_image()}"</img>

问候,

标记。

最佳答案

老问题了,但谷歌仍然向我展示了这个,所以我将分享我的研究;我如何在 ADT 中获取结构字段的混搭:

<#if entries?has_content>
    <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
    <#list entries as entry>
        <!-- get field values for entry -->
        <#assign fields = entry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/>

        <!-- print simple text field -->
        <div>${fields[1].getValue().getString(locale)}</div>

        <!-- link to page structure field -->
        <#assign linkMap = fields[2].getValue().getString(locale)?eval />
        <#assign pageURL = layoutLocalService.getLayout(linkMap.groupId?number, linkMap.privateLayout, linkMap.layoutId?number).getFriendlyURL() />
        <a href="${pageURL}" class="hidden"><span class="link"></span></a>

        <!-- document structure field -->
        <#assign docValJSON = fields[6].getValue().getString(locale) /> 
        <#if docValJSON?length gt 0 >
            <#assign docVal = docValJSON?eval />
            <a href="/documents/${docVal.groupId}/0/${docVal.title}">download</a>
        </#if>
    </#list>
</#if>

请注意,链接应始终存在,因此无需像文档那样进行额外检查。 仅供引用,需要在门户设置中启用“serviceLocator”,否则 - 错误。

关于liferay - 获取显示模板脚本中的结构字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25872685/

相关文章:

liferay - 是否有开源 OpenSocial 容器?

Apache HTTP 重定向到 Tomcat (LiferaY)

templates - 排序 Velocity 模板中的对象列表 - Liferay

Liferay:动态填充 'select'结构字段

pagination - Liferay 搜索容器分页

url - Liferay 对不同的机器显示不同的 URL

liferay - 如何获得Liferay主题中的角色?

java - 主题 : No bean named 'com.colors.themes.service.ColorLocalService' is defined 中的 Liferay 访问数据库表

java - 如何在 liferay 的速度模板中创建 sortedmap 或 treemap

service - 如何从Liferay中的其他插件调用自定义服务?