2016-02-19 44 views
0

我是Liferay的新手,我試圖弄清楚是否可以動態地添加或減少子頁面。從我迄今爲止所做的工作中,我只能使用管理控制面板將靜態數量的子頁面添加到主頁面。Liferay 6 - 導航子頁面的動態數量

我的用例是我有一個主頁,其中包含我的所有圖形圖表,然後我爲每種類型的圖形都有一堆子頁面。圖表的數量是動態的,取決於公司,但有些可能有10個子頁面,其他可能只有3個。這可能嗎?我唯一能找到的就是這篇關於自定義導航的文章,https://liferayinfo.wordpress.com/2012/09/24/liferay-custom-navigation/

+1

您可以使用'LayoutLocalServiceUtil'以編程方式添加頁面。 –

回答

0

這取決於你認爲的「動態」:如果它的字面意思是「即時」:是的,有動態處理頁面的選項 - 這種方法非常複雜。對於一個在stackoverflow上的簡單答案來說太複雜了。

但並非一切都會丟失:根據您所知的標準,您可能會自行構建自己的導航Portlet,以確定您已靜態創建的子頁面顯示的數量(以及哪些)。

當您的每個公司(小心:誤導性術語 - Liferay使用「公司」作爲「門戶實例」的技術名稱)使用不同的站點時,您還可以使用站點模板或頁面模板 - 包括此自定義導航門戶。

您還可以隨時使用Liferay的API創建頁面和頁面層次結構。 Thorsten Laux的評論已經提到LayoutLocalService。爲了可維護性:如果您在創建頁面時靜態使用它,而不是在您擁有數據時動態使用它(我們再次說明:對於此答案,動態使用過於複雜)會更容易。

如果它足夠隱藏某些頁面:使用自定義導航Portlet而不是Liferay自己的頁面。取決於您願意結束的複雜性:您可以創建自己的portlet,也可以使用WebContent結構和模板來動態決定要鏈接哪些頁面以及哪些不鏈接(這將有效地隱藏它們)。