Liferay 6-带导航的动态子页面数量

Liferay 6-带导航的动态子页面数量,liferay,liferay-6,liferay-theme,liferay-velocity,Liferay,Liferay 6,Liferay Theme,Liferay Velocity,我是Liferay的新手,我正在尝试弄清楚是否可以动态地添加或减少子页面。从我到目前为止所做的工作来看,我只能使用管理控制面板向主页添加静态数量的子页面 我的用例是,我有一个主页,其中包含了我所有的图形图表,然后我有一堆子页面用于每种类型的图形。图表的数量是动态的,这取决于公司,尽管有些可能有10个子页面,有些可能只有三个子页面。这可能吗?我唯一能找到的是关于自定义导航的文章, 这取决于你认为“动态”:如果它是字面上的“即时”:是的,有动态处理页面的选项-这个方法相当复杂。对于stackover

我是Liferay的新手,我正在尝试弄清楚是否可以动态地添加或减少子页面。从我到目前为止所做的工作来看,我只能使用管理控制面板向主页添加静态数量的子页面


我的用例是,我有一个主页,其中包含了我所有的图形图表,然后我有一堆子页面用于每种类型的图形。图表的数量是动态的,这取决于公司,尽管有些可能有10个子页面,有些可能只有三个子页面。这可能吗?我唯一能找到的是关于自定义导航的文章,

这取决于你认为“动态”:如果它是字面上的“即时”:是的,有动态处理页面的选项-这个方法相当复杂。对于stackoverflow的简单回答来说太复杂了

但并不是所有内容都丢失了:您可以构建自己的导航portlet,根据您知道的条件确定静态创建的子页面中有多少(以及哪些)被显示

当您的每个公司(小心:误导性术语-Liferay使用“公司”作为“门户实例”的技术名称)使用不同的站点时,您也可以使用站点模板或页面模板,包括此自定义导航portlet

此外,您还可以始终使用Liferay的API创建页面和页面层次结构。Thorsten Laux的评论已经提到了
LayoutLocalService
。对于可维护性:如果您在创建页面时静态地使用它,而不是在拥有数据时动态地使用它,那么就更容易了(我们又来了:动态使用对于这个答案来说太复杂了)


如果可以隐藏某些页面:使用自定义导航portlet而不是Liferay自己的导航portlet。取决于最终的复杂性:您可以创建自己的portlet,也可以利用WebContent结构和模板动态决定链接哪些页面和不链接哪些页面(这将有效地隐藏它们)。

您可以使用
LayoutLocalServiceUtil
以编程方式添加页面。