Liferay:我如何在网页内容中获取网站的页面?

时间:2016-02-09 16:12:45

标签: liferay velocity

我在Liferay 6.2中有一个门户网站,需要设计一个网页内容的速度模板,该模板必须有一个菜单,列出网站所在页面(链接名称)。

我的问题是:

  • 这可能吗?

  • 这样做的正确方法是什么?

  • 为此目的制作portlet而不是Web内容会更好吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

感觉有点像你试图在单个模板中解决许多问题 - 考虑从许多不同的元素(例如自定义portlet)组成UI,而不是构建适合所有要求的一个结构/模板。

话虽如此,因为您的模板还有可能不仅仅显示当前导航:您有两个选择:开箱即用的导航portlet是可配置的,您可能也可以利用那个而不是自己实现任何东西(检查配置选项)。

最后,如果你想为自己实现:抓住themeDisplay对象。使用getLayout(),您将获得当前页面,而getLayouts()您将获得当前网站的所有页面并可以枚举它们。但是,存在一个问题:您通常无法从CMS模板访问themeDisplay对象。但仍有几种方法可以获取数据(在Liferay论坛中搜索 cms模板themedisplay )。此外,应用程序显示模板将更加强大 - 您还可以检查layouts集合的构建方式 - 只需在Liferay的源代码中搜索ThemeDisplay.setLayouts的使用情况。但是对于ADT,我们会转移你原来的问题。

答案 1 :(得分:0)

Liferay提供了一个开箱即用的站点地图portlet,其中列出了站点的页面。您可以对其进行配置并定义自己的应用程序显示模板(ADT)。