參考:
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)這是採用巨集定義了乙個指令dockbar,定義的部分是呼叫了乙個portlet,$theme.runtime("145")表示的是在此處呼叫portletid為145的portlet。$theme.runtime("145")
#end
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...