Liferay 7 - 列出FreeMarker模板中的所有博客

问题描述 投票:0回答:2

我正在使用Liferay 7 GA5,我需要为Web内容创建一个模板来打印所有博客,以便在网站页脚中插入。

研究,最好的解决方案是:

<#if entries?has_content>
    <#list entries as cur_entry>
        ${cur_entry.getUrlTitle()}<br>
    </#list>
</#if>

但变量条目不存在,FreeMarker返回给我错误“以下已评估为null或缺失...”

如何获取所有博客并打印他们的价值观(图片,标题,简短描述,链接......)?

谢谢

java liferay freemarker liferay-7
2个回答
0
投票

问题是“用于打印所有博客的Web内容”使用模板时,它们会根据模板的类型插入到上下文中。当您使用Web内容时,条目变量将不存在。

您可以继续使用Liferay的服务手动获取您的条目,这些服务已填充(如果已启用)。

启用服务定位器后,您将寻找此服务:

https://docs.liferay.com/portal/7.0/javadocs/portal-kernel/com/liferay/blogs/kernel/service/package-summary.html

从那里,您可以使用该服务获取您需要的条目,也许您需要可用的计数或其他一些条件。只要您知道您需要将条目作为列表获取,您就可以使用freemarker代码。


0
投票

我也有同样的要求。

我使用资产出版商实现了这是最好和最简单的方法。

  1. 拖动Asset Publisher并将其配置为仅显示博客
  2. 为博客创建ADT
  3. 在ADT中编写代码以显示图像,标题,简短描述,链接..
© www.soinside.com 2019 - 2024. All rights reserved.