如何對liferay中的dockbar進行修改

2022-06-09 18:30:11 字數 1366 閱讀 3620

參考:

liferay中有時候我們需要對dockbar的內容進行修改與調整。

讓liferay中dockbar基於許可權顯示

dockbar的引入是在主題裡面,具體的定義是在主題的templates/portal_normal.vm裡面,我們在裡面可以看到如下的**:

#dockbar()
或者

#if ($is_signed_in)

#dockbar()

#end

要進行修改,我們必須要知道這些對應的**是在什麼地方的?

1、基於上面的**我們知道#dockbar()是定義dockbar的引入的,前面有#表示是velocity的指定,此指令的定義是在原始碼的/portal-impl/src/vm_liferay.vm裡面,在這裡面可以找到如下的**:

#macro (dockbar)

$theme.runtime("145")

#end

這是採用巨集定義了乙個指令dockbar,定義的部分是呼叫了乙個portlet,$theme.runtime("145")表示的是在此處呼叫portletid為145的portlet。

2、基於portletid,尋找portlet,需要在原始碼的portal-web/docroot/web-inf/portlet-custom.xml裡面尋找portlet-id為145的。可以尋找到如下的**:

可以看到具體的**是在/html/portlet/dockbar裡面。

在原始碼裡面進入到此目錄裡面的,尋找view.jsp,通過閱讀**可以發現,這裡就是dockbar的入口,左上角的管理,我的站點,我帳號等的入口是在頁面view_user_panel.jspf裡面。

比如,我們想將dockbar裡面的「我的站點」移除。

1、新建乙個hook外掛程式工程。

2、建立customjsps,選擇view_user_panel.jspf,如下圖所示。

3、在hook工程裡面,開啟view_user_panel.jspf,將下面的此行**刪除,則表示在dockbar中不再顯示「我的站點」內容。

說明:這是採用hook對dockbar進行修改的例子,可以根據自己的需求對dockbar進行調整,比如新增乙個子選單,新增自己想要的內容等

Liferay 對Liferay框架的幾點分析總結

一 jsp中如何使用tab liferay的jsp頁面中,如果用了tab的選項,則tab1為第一層,tab2為第二層,tab3為第三層,從上到下,為父子關係。如何開發乙個帶選擇框的列表應用?1 建立資料庫模型 廢話 2 建立dao及相關portlet.service服務框架,介面和util 3 實現...

Liferay對union的處理

liferay中在finder裡面不支援unio的查詢,建議採用原生sql方式查詢 如下 獲取待辦流程 優化後的方法 只需要id字串集合 public static string getflow2 actionrequest request,long userid string flowids 獲取...

Liferay6學習 liferay6中的UUID

liferay6中的資料庫表中好多都有 uuid 這個字段,i am very new to liferay.我沒學習過liferay5.x版本,之前有幸接觸過4.x版本。在liferay4.x版本中 資料庫中沒有uuid 這個字段。uuid在5.x版本中就已經有了,因為我沒學習過5.x,直接學習6...