我是portlets的新手,对于它们在CMS门户中的工作方式有疑问(我们正在评估Liferay作为CMS)。
比方说,我想创建一个portlet来显示特定课程所需的所有书籍。您无需登录即可查看,它将显示在公共网站上。
在CMS中,我将为ENGL-100和HIST-300创建两个页面。
我想在每个页面上添加相同的portlet。我希望将portlet部署为war文件。
我如何告诉每个页面上的portlet要查找哪个课程?不要告诉我必须为每个主题更改portlet.xml文件。 portlet是否可以访问URL参数?
答案 0 :(得分:4)
Portlets 不应该直接依赖URL参数 - 出于这个原因 - 您可能在同一页面上有多个实例,并且不希望它们发生冲突(因为它们都会看到渲染期间的参数,但只有一个会获得动作)
在Liferay中,您可以删除2个portlet,如果通过EDIT或Liferay配置视图使用“首选项”,则prefs将分别作用于呈现初始状态。容器将处理直接保持2个portlet。
答案 1 :(得分:0)
是的,portlet可以处理URL参数。这就是你实现你想要的方式。根据您访问的页面,您只需将课程主题作为URL参数传递,然后让portlet为您处理。当然,你必须去数据库寻找合适的课程等,以便返回正确的数据。