You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在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()获取描述内容。

配置模板的步骤:

  1. 进入Liferay控制面板,找到「应用显示模板」。
  2. 选择「RSS Publisher」作为目标Portlet,点击「添加」新建模板。
  3. 模板类型选择「Velocity」,把上面的代码粘贴进去,保存模板。
  4. 回到RSS Publisher Portlet的配置界面,在「显示模板」下拉菜单里选择你刚创建的模板,保存配置即可生效。

内容的提问来源于stack exchange,提问作者John Cressman

火山引擎 最新活动