Liferay提供了不少很是好的特性:包括一個功能豐富的內容管理系統,一個社交協做套件,和一些生產力工具。針對大多數狀況,這些特性能夠很好知足你的項目需求;可是有時你想擴展這些特性或是定義本身的核心實現和外觀。
Liferay被設計成可被自定義的架構,它的不少插件和插件類型能夠組合應用到一個單獨的war文件中,讓咱們瞭解下這些插件類型和看看如何使用它們吧。
自定義展現外觀:主題theme
themes讓你能夠靈活定義web站點的外觀,你能夠指定顏色和經常使用的圖片,你能夠在ui界面元素上應用樣式表,例如字體,鏈接,搜索欄,頁頭,和頁腳,經過集成css和Velocity或FreeMarker模板,結合Liferay的AlloyUI API框架,你可使用一個統一的接口在你的通用ui元素上,而這些ui元素則組成了用戶的web頁面,這使得生成站點很是容易,並且這些站點能夠對桌面訪問客戶,平板訪問客戶,手機設備訪問客戶均可以展現良好的頁面效果。最重要的是,themes讓你集中精力在設計站點ui上,而不是實現ui所具有的通用功能上。
添加新的預約義頁面佈局:佈局模板Layout Template
佈局相似主題,可是它主要集中在設定portlets在頁面上的位置佈局,而不是portlets的外觀展現。你能夠生成自定義的佈局模板來規劃portlets在頁面上的位置。並且你甚至能夠嵌入通用的portlets.像主題同樣,佈局模版也是用Velocity編寫,並支持熱部署。
自定義或擴展開箱即用功能:Hook 插件
Hook插件是你自定義liferay核心功能的插件,hook插件能夠用來修改portal屬性或是在portal啓動,關閉,登陸,登出,會話生成,會話銷燬階段執行特定功能。使用服務封裝器,hook插件能夠替換Liferay任意的核心服務,進而達到自定義功能。Hook插件也能夠替換被portlets使用的任意jsp模板,最有趣的是hooks也像portlets 那樣支持熱部署。
高級定製 Ext 插件
Ext 插件提供了最高級別的對Liferay核心功能實現的定製,容許你用本身的實現來替換任意基礎核心類,然而它在沒通過修改的狀況下不能跨版本移植,由於這個緣由,Ext插件僅僅被建議用在的確須要高級別定製的狀況,且沒有其餘可選方案的狀況下采用,並且要確保你對liferay 核心熟悉,保證Ext插件不會影響到已經存在的功能,儘管Ext插件能夠被看成插件部署,可是服務器必須重啓,Ext插件纔會起做用。
到這裏你已經瞭解了在liferay上開發所須要配置的可選項,和如何自定義liferay,接下來咱們須要瞭解下需開發工具了。