1

我是 Portlet 的新手,并且对它们在 CMS 门户中的工作方式有疑问(我们将 Liferay 评估为 CMS)。

例如,假设我想创建一个 portlet 来显示特定课程所需的所有书籍。您无需登录即可查看此内容,它会出现在公共网站上。

在 CMS 中,我将为 ENGL-100 和 HIST-300 创建两个页面。

我想在每个页面上添加相同的 portlet。我希望将portlet 部署为war 文件。

我将如何告诉每个页面上的 portlet 查找哪个课程?不要告诉我我必须为每个主题更改 portlet.xml 文件。Portlet 是否可以访问 URL 参数?

4

2 回答 2

4

Portlet不应该直接依赖 URL 参数——出于这个确切的原因——你可能在同一个页面上有多个实例,并且不希望它们发生冲突(因为它们都会在渲染期间看到参数,尽管只有一个会得到 Action )

在 Liferay 中,您可以只删除 2 个 portlet,如果您通过 EDIT 或 Liferay Config 视图使用 Preferences,则 prefs 将单独作用域以呈现初始状态。容器将处理保持 2 个 portlet 笔直。

于 2010-07-03T02:21:57.920 回答
0

是的,portlet 可以处理 URL 参数。这就是你实现你想要的东西的方式。根据您访问的页面,您只需将课程主题作为 URL 参数传递,然后让 portlet 为您处理它。当然,您必须去数据库寻找正确的课程,等等才能返回正确的数据。

于 2010-06-25T17:32:04.790 回答