在Liferay DXP 7中为RSS阅读器创建应用显示模板
关于RSS Publisher Portlet自定义模板的两个问题解答
1. 如何显示超过9条RSS条目?
默认情况下RSS Publisher Portlet确实只显示9条,但完全可以调整:
- 通过Portlet配置直接修改:进入Portlet的配置界面(点击右上角的齿轮图标),找到「显示设置」板块,里面有「要显示的条目数量」的输入框,直接改成你想要的数字就行,比如15、20,这个方法最简单,不需要改模板。
- 通过自定义模板控制:如果需要更灵活的逻辑(比如根据条件动态调整数量),可以在模板里先设置最大条目数,再循环时做判断,比如:
#set ($maxItems = 12) <ul> #foreach ($entry in $rssPublisherDisplay.entries) #if ($foreach.count <= $maxItems) <li><a href="$entry.getLink()">$entry.getTitle()</a></li> #end #end </ul>
2. 如何遍历条目生成指定的列表结构?
用Liferay的Velocity自定义应用显示模板(ADT)就能轻松实现,具体步骤和代码如下:
实现代码(Velocity模板)
<ul> #foreach ($entry in $rssPublisherDisplay.entries) <li><a href="$entry.getLink()" target="_blank">$entry.getTitle()</a></li> #end </ul>
关键说明:
$rssPublisherDisplay是RSS Publisher Portlet提供的上下文对象,里面的entries属性就是所有获取到的RSS条目集合。$entry.getLink()用于获取条目的跳转URL,$entry.getTitle()用于获取条目标题,你也可以根据需求调用其他方法,比如$entry.getDescription()获取描述内容。
配置模板的步骤:
- 进入Liferay控制面板,找到「应用显示模板」。
- 选择「RSS Publisher」作为目标Portlet,点击「添加」新建模板。
- 模板类型选择「Velocity」,把上面的代码粘贴进去,保存模板。
- 回到RSS Publisher Portlet的配置界面,在「显示模板」下拉菜单里选择你刚创建的模板,保存配置即可生效。
内容的提问来源于stack exchange,提问作者John Cressman




