[Liferay]說明Liferay Portal 6.2 學習筆記

簡單說明Liferay基本的東西 & 一些操作

一.theme和portlet的差別

二.layout說明 & 自創新的

三.其他操作

1.如何添加分頁

2.如何設定預設主題

3.管理網頁的各個分頁

4.theme中的template介紹

5.template中的變數哪裡來的?

6.如何import已經有的整個Liferay專案?

7.如何增加一個portlet在頁面中

----------------------------------------------------------------------------------------------------------------------

一.theme和portlet的差別

Theme 每一頁都長的一樣的地方,例如Header、Footer、每一頁都要有的廣告

Portlet 網頁上一塊一塊的部分,每一個區塊都可以設成一個Portlet

以下是影片老師做的Liferay網頁


 

二.layout說明 & 自創新的

layout就是網頁格局

在網頁中點選如下,可以看到預設的layout有這些,也可以自創

自創layout

增加分隔線

因為Liferay使用12 格來設定layout

發布後,就可以在網頁上看到此layout

如果我還有別的分頁要不同layout,可以創建新的分頁layout

檔案中就有新的分頁layout可以設計了,一樣要用Ant build上去才能在網頁中設定

 

三.其他操作

1.如何添加分頁

有了新的layout,就會想說要怎麼用在分頁中,

現在說明如何增加分頁

 

2.如何設定預設主題

 

3.管理網頁的各個分頁

 

4.theme中的template介紹

標示紅色表示常修改

  • portal_normal.ftl : 定義除了中間內容以外的所有,例如有<html>、<head>、<body>。下面是內容說明
  • navigation.ftl 導航列(Menu)的模板
  • init_custom.ftl  有參數要設定可以寫在這
  • portal_pop_up.ftl 廣告用的彈跳視窗,需要廣告彈跳可以寫這個
  • portlet.ftl  設定portlet樣式,一般不會修改這個,會去動個別的portlet

 

5.template中的變數哪裡來的?

要看變數定義檔,必須導入Liferay原碼,導入方式如下

導入後,

ctrl+shift+R 搜尋 init.vm,可以看到Liferay定義變數的內容

ctrl+shift+R 搜尋 init.ftl,可以看到變數導哪個模板 (這我不太懂了)

ctrl+shift+R 搜尋 VelocityTemplateContextHelper,在init.vm找不到想用的變數時,可以來這裡找

如果還是沒有想用的,就可以自己定義變數了,如何定義變數,下次再說嚕。

要網路上查詢Liferay的變數可以參考此網址:https://docs.liferay.com/portal/5.2/javadocs/portal-impl/allclasses-noframe.html

 

6.如何import已經有的整個Liferay專案?

< Way 1 >

抓原本就有的專案到我們新配置好的IDE中,以下我Checkout原有的專案,

如果讀者的公司不是用SVN保存專案可以略過 (這也是我自己記錄用的啦),

總之就是把原本已有的Liferay專案放到已經配置好的SDK資料夾中

已有的theme抓下來

已有的portlat抓下來

已有的hook也要抓

已有的layout要抓

已有的web內容抓下來

打開Exclipse,import  放好在sdk中的Liferay專案到Eclipse裡面

原本的專案可能有連SQL server,所以才有這一個步驟,如果讀者原專案沒有連SQL server就可略過

設定SQL Server,開以下檔案,加入jdbc內容

Copy 原專案的Tomcat 來當作自己IDE的Server。

這個步驟一定要,我原本沒有Copy原專案的Tomcat結果網頁就搞不起來,最後發現是Tomcat裡面也有原專案的一些設定值,但是慢慢Copy過來太麻煩了,所以建議直接Copy原專案的整個Tomcat,而且原專案的Tomcat原本放在哪個槽也要放一樣的槽。

打開Eclipse配置Server,

把import的sdk檔案拖拉到Server,然後啟動Server,再到localhost看看有無成功跑出網頁,有跑出原專案的網頁才是成功。
 

< Way 2 >

如果還是不行,建議Copy整個專案的SDK和Tomcat資料夾,用新版的Eclipse直接配置SDK和Server為此專案的sdk & tomcat資料夾。

我最後是用這個方法成功導入現有專案的。

之後發現這樣會有IDE和SDK版本不合的問題,如果要使用新的IDE,就不能copy舊專案的SDK了..

 

7.如何增加一個portlet在頁面中

編輯會使用到的參數

名字的部分必須取英文,到時候取參數才能使用

寫html的部分,進去後點擊"編輯"

這裡就可以寫html了,裡面讀取的CSS是theme裡面設定的

 

做好了這個結構portlet後,接著我們就要增加到網頁中了

回到網頁(要登入)

拖拉進去葉面就成功了