liferay6 2 ga6主題工程研究隨筆

2021-07-25 16:31:00 字數 1857 閱讀 8474

liferay主題

注意:我使用的liferay ga6環境,主題工程建立時的配置選項為

一、在liferay主題(theme)的編寫中,如果要在portal_normal.vm中匯入js或css包(例如jquery包),可以使用以下兩種方法:

1、2、

它們的路徑相當於http://localhost:8080/test-theme/js

類似的還有$themedisplay.getpaththemeimages()

其實最好的是在liferay編輯器中使用【ctrl】+【shift】+【r】,然後搜尋init.vm

二、$themedisplay.getlanguageid() 獲取語言型別

這個語言型別指的是門戶**cookie中,名為guest_language_id的值,例如簡體中文為zh_cn,美國英語為en_us

三、在主題中自定義變數

1、在主題工程web-inf下liferay-look-and-feel.xml檔案中設定

在主題工程的liferay-look-and-feel.xml檔案中找到你要修改的專案,在中加入以下內容

上面這個例項是liferay自帶的,作用是是否顯示liferay頁面中portlet的邊框

你也可以使用自定義的,如下:

第乙個用的是核取方塊,第二個用的是文字框

2、將你在liferay-look-and-feel.xml中配置的值在主題或portlet中引用

在主題中引用:

在portal_normal.vm中通過$themedisplay.getthemesetting('isdisplay')可以獲取管理員在頁面中選取或輸入的值,

eg.     #if($themedisplay.getthemesetting('isdisplay') == 'false')

#else

#end

上面的示例首先獲取管理員輸入的值,然後設定主題樣式,從而控制liferay頁面右上角的藍色操作條是否顯示。

四、主題中使用自己定義的類的方法

1、在portal_normal.vm的某乙個位置,最好是檔案的開頭新增下面的語句

#set($bookservice=$servicelocator.findservice("***-portlet(這裡的值為portlet名)","com.xyong.portlet.demo.service

.booklocalservice(這裡的值為該portlet的介面)"))

2、在你想使用匯入類某一方法處,使用 $bookservice.getbooks('')    //這裡為具體方法名

注意:若是自己定義的portlet,則需要第乙個引數(portlet名);若為liferay自帶的,則不需要第乙個引數(portlet名)

五、主題中顯示使用者資訊

liferay資料庫中,自帶有歡迎***之類的資訊,可以直接取用,而不需要自己編寫,具體的在init.vm中,那都是liferay定義

好了的變數。

六、在主題中嵌入liferay自帶的portlet

比如想在liferay主題中嵌入liferay自帶的語言選擇portlet。

1、你需要獲取該portlet的id,例如語言選擇元件的id為p_p_id_82_ ,導航元件的id為p_p_id_71_instance_knhyds33j9di_

2、在主題你通過 $theme.runtime("82") 可以引用你想引用的liferay自帶portlet,引數的值為元件id的編號。

$theme.runtime("82")引用的是語言選擇元件,$theme.runtime("71")引用的是導航元件。

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

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

liferay 4 liferay的許可權體系

liferay中有幾個概念 1 user 表存放liferay的使用者 2 usergroup 使用者組 3 角色 4 組織,組織可以是站點的成員 5 站點 6 團隊 liferay中所有的東西都被視為是資源 而許可權和資源掛鉤 在liferay裡面儲存許可權的表主要涉及兩個表,乙個叫resourc...

liferay傳送郵件

在liferay中 有時候我們會想用系統配置的郵箱對外傳送信件,實現方式如下 1.在控制面板中配置好傳送郵件的賬號。2.在 中使用 string fromaddress prefspropsutil.getstring propskeys.mail session mail smtp user in...