liferay是一個開源Java庫租漂,通常是作為企業(yè)的內(nèi)網(wǎng)系統(tǒng)阶女。這個庫將頁面的不同元素,例如日歷哩治、開會計劃等作為模版秃踩,用戶可以通過模版來組織頁面格式。由于公司項目要求业筏,已經(jīng)學(xué)習(xí)憔杨、使用了一段時間。以下是主要的學(xué)習(xí)進(jìn)程蒜胖,很多東西沒有用到消别,但是需要記錄抛蚤。
通過配置文件開發(fā)
加載自定義CSS
通過管理員賬號登陸后,在導(dǎo)航-頁面-配置-外觀和風(fēng)格-CSS中直接導(dǎo)入想要改變的CSS代碼即可妖啥。主要通過className來區(qū)分頁面霉颠。注意頁面的配置中的外觀和風(fēng)格處選擇“使用和私有頁面相同的外觀”对碌,而不要選“為此頁面定義一個獨(dú)有的外觀”荆虱。
載入HTML
lifery 的wiki portel中的一項支持HTML代碼,并且為表格文檔提供編輯器朽们,能讓用戶自己編輯表格怀读。表格的格式可以通過CSS改變。這個portel還有一個特點(diǎn)骑脱,就是可以支持單頁面以及js行為控制菜枷,這就配合css的<code>display:hidden</code>等屬性,能夠?qū)崿F(xiàn)頁面的定制化叁丧。
執(zhí)行JavaScript
如果需要動態(tài)改變CSS啤誊,需要導(dǎo)入JavaScript,這個時候可以在導(dǎo)航-頁面-配置-高級的-JavaScript中加上你需要的代碼拥娄,這會被全局應(yīng)用蚊锹。框架已經(jīng)自帶jQuery稚瘾,但是沒有Boostrap牡昆。
lar包
上述內(nèi)容都配置完之后,可以在系統(tǒng)的導(dǎo)出界面導(dǎo)出lar包摊欠,然后可以在默認(rèn)界面中將lar包進(jìn)行導(dǎo)入丢烘,應(yīng)用樣式、結(jié)構(gòu)以及portel些椒。lar包可以通過相關(guān)命令行進(jìn)行解壓以及壓縮播瞳。<a title="17.5.31">目前</a>的問題是導(dǎo)入導(dǎo)出后會報出<code>java.lang.NullPointerException</code>的問題。
通過命令行開發(fā)
環(huán)境
需要三大類環(huán)境:node免糕,npm赢乓;yeoman;SASS from Ruby说墨。根據(jù)教程配置即可骏全。但是,npmrc文件如果按照上面要求修改尼斧,環(huán)境會報錯安裝不上姜贡,npm在后續(xù)構(gòu)建theme的時候也會報錯。
portal_normal.ftl
../"theme name"/src/templates/portal_normal.ftl文件是liferay模版文件棺棵,改了其中的代碼后可以直接在主頁中顯示出來楼咳,是主要需要進(jìn)行修改的地方熄捍。具體可以直接調(diào)用的模版是宏(macros),其中的date宏不能直接調(diào)用,control_menu如果已經(jīng)有了調(diào)用后會和已有的重疊母怜,breadcrumbs只能調(diào)用一次余耽,user_personal_bar就是一個簡單的小用戶界面。
調(diào)用后在theme文件中使用<code>gulp deploy</code>就能生成build文件苹熏,然后在對應(yīng)的tomcat文件夾中用.sh文件部署服務(wù)器即可實(shí)現(xiàn)這份ftl文件的改動碟贾,注意需要在feel and look中選擇相應(yīng)的樣式。樣式方面轨域,可以通過改變_custom.scss實(shí)現(xiàn)袱耽。
目前的問題,無法自定義宏以及不知道連接前后端干发。
Liferay Theme Generator
激活代碼是<code>yo liferay-theme</code>
使用yeoman引入這個主題構(gòu)建器朱巨,這個構(gòu)建器會創(chuàng)建好一個主題的架構(gòu)。在文件中會有一個src文件夾枉长,這個src文件夾會存儲進(jìn)行改動的文件冀续。其中的CSS文件是以Sassy CSS文件存儲的。這個構(gòu)建器還能通過<code>yo liferay-theme:layout</code>以及<code>yo liferay-theme:themelet</code>來改變頁面的基礎(chǔ)布局以及增加小組件必峰。目前的問題如果使用這個方式洪唐,將theme構(gòu)建好之后不知道如何應(yīng)用到已經(jīng)在tomcat上跑起來的頁面中……
通過Eclipse開發(fā)
Liferay IDE
這是一個liferay的eclipse插件,可以通過eclipse插件廣場上搜索下載自点。安裝這個插件之后桐罕,在加上Java 8,就能新建基于liferay的項目了桂敛。
liferay SDK
這是一個liferay的工具包功炮,在新建項目的同時,需要將這個工具包所對應(yīng)的文件位置引用一下术唬。目前有個問題薪伏,就是文件引用的時候會報出“Invalid SDK settings. Configure app.server.parent.dir property in build.admin.properties to point to Liferay home”錯誤,解決方式就是找到build.properties文件粗仓,講文件名稱改成build.<你的電腦名字>.properties,然后在其中的app.server.parent.dir的值改成liferay portal的絕對路徑嫁怀。
liferay portal
這是liferay所構(gòu)建的JAVA頁面,其中包括用于渲染頁面的tomcat文件借浊。它能體現(xiàn)liferay的基本的功能塘淑,但是沒辦法改樣式。
liferay portal SRC
這是liferay的工程源碼蚂斤,可以通過軟件導(dǎo)入存捺,不能用eclipse,文件格式也不是mavern。由于整個門戶過于復(fù)雜捌治,源碼分析不現(xiàn)實(shí)岗钩,如果需要改樣式的話需要通過新建模版完成。