版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Liferay6.2文檔 作者:張娜日期:2014-01-10目錄1 環(huán)境搭建41.1 開發(fā)工具41.2 打開集成Liferay Portal IDE的Eclipse41.3配置Liferay-plugins-sdk51.4 配置ant61.5 配置tomcat71.6 配置jre參數(shù)71.7啟動服務(wù)82 配置數(shù)據(jù)庫83 liferay使用介紹93.1 訪問portal93.2 添加應(yīng)用93.3 管理103.3.1頁面113.3.2 站點設(shè)置133.3.3 站點內(nèi)容133.4 門戶的基礎(chǔ)管理143.4.1 用戶和組織143.4.2 站點143.4.3 網(wǎng)站模板153.4.4 網(wǎng)頁模板153.4
2、.5 用戶群組163.4.6 角色163.4.7 portal設(shè)置164 Portal架構(gòu)174.1 portal和portlet的概念174.2 portal結(jié)構(gòu)184.3 portal的組成架構(gòu)194.4 portal應(yīng)用架構(gòu)214.5 Portal主要功能215 Portal標準226 liferay國際化236.1屬性的國際化236.2 內(nèi)容的國際化247 常用參數(shù)配置247.1 文件存儲路徑247.2 去掉公共頁和私有頁247.3 去掉用戶第一次登錄時的密碼提示247.4 讓沒有權(quán)限的portlet隱藏掉247.5 上傳文件大小配置247.6 liferay的登錄認證形式257.7
3、liferay默認進入的站點257.8 event配置257.9 設(shè)置session258 liferay中常用的API268.1 獲取HttpServletRequest268.2 獲取UserId、groupId、companyId268.3 獲取當前頁面、導(dǎo)航的名稱278.4 獲取當前環(huán)境運行類型278.5 Validator驗證278.6 ParamUtil278.7 password289 創(chuàng)建主題289.1主題目錄289.2主題樣式文件289.3主題模版文件299.4在eclipse下創(chuàng)建主題2910 創(chuàng)建Layout Template3211 常見問題351 環(huán)境搭建1.1 開發(fā)
4、工具1. 集成Liferay Portal IDE插件的Eclipse,在線插件安裝地址: 2. Liferay-plugins-sdk插件包,開發(fā)portlet、theme、layout、ext、hook等插件項目,下載地址: 3. Liferay Portal RunTime Server,本環(huán)境使用Tomcat,官方有綁定好的,下載地址:4. 所需軟件包1.2 打開集成Liferay Portal IDE的Eclipse從官網(wǎng)上下載右鍵new項目有Liferay視圖則插件安裝成功1.3配置Liferay-plugins-sdk1.4 配置antAdd External JARs到life
5、ray-portal-src-6.2.0-ce-ga1libdevelopment下找到ecj.jar添加進來即可。1.5 配置tomcat1.6 配置jre參數(shù)-Xms512m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m1.7啟動服務(wù)以默認的用戶名:test密碼:test登錄進去,如果出現(xiàn)如下界面表示啟動成功。2 配置數(shù)據(jù)庫有如下兩種方式(1)liferay-portal-6.2.0-ce-ga1tomcat-7.0.42webappsROOTWEB-INFclasses下面增加一個perties的文件,里面放入
6、 jdbc.default.driverClassName=com.mysql.jdbc.Driver jdbc.default.url=jdbc:mysql:/localhost:3306/src_portal2?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username=rootjdbc.default.password=123jdbc.default.driverClassName=com.mysql.jdbc.Driverjdbc.default.url=j
7、dbc:mysql:/16/lportal_6_1?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=falsejdbc.default.username=rootjdbc.default.password=abc123_jdbc.default.driverClassName=com.mysql.jdbc.Driverjdbc.default.url=jdbc:mysql:/localhost:3306/src_portal2?useUnicode=true&characte
8、rEncoding=UTF-8&useFastDateParsing=falsejdbc.default.username=rootjdbc.default.password=123(2)可以在liferay-portal-6.2.0-ce-ga1tomcat-7.0.42webappsROOTWEB-INFlibportal-imp.jar中找到perties,注釋掉Hypersonic的代碼,然后把mysql的注釋給消掉,最后重新將這個文件放入jar。3 liferay使用介紹3.1 訪問portal輸入默認用戶名:testliferay.xom密碼:test進
9、入,如圖所示:3.2 添加應(yīng)用點擊左上角的加號,可看到系統(tǒng)內(nèi)置的一些portlets,添加進來即可,可拖動放到合適的地方。3.3 管理3.3.1頁面編輯當前頁面,包括:頁面類型,頁面名稱,HTML標題,樣式外觀自定義,添加子頁面,訪問權(quán)限管理等操作。頁面布局:為當前頁選擇布局。添加頁面時,可選擇如下提示的布局,也可以自己開發(fā)布局。3.3.2 站點設(shè)置3.3.3 站點內(nèi)容3.4 門戶的基礎(chǔ)管理3.4.1 用戶和組織用戶:用戶是使用 Portal 執(zhí)行任務(wù)的個人。管理員可以創(chuàng)建新的用戶,也可以撤銷現(xiàn)有用戶。用戶可以加入站點,進入層級組織,進入用戶群組,還可能被消除角色權(quán)限。用戶群組能夠跨越組織界限
10、,用來將所有成員分配至其他群體組織,如,站點或者角色。用戶群組還能用來為群組成員自定義個人站點模板。常規(guī)組織:公司,銷售部門,市場部門等都是常規(guī)組織,如閔行區(qū)教育局,教育局各個科室都是常規(guī)組織。位置:分支機構(gòu),下屬單位等都是存儲單元,如閔行區(qū)教育學(xué)院,區(qū)管各家學(xué)校都是存儲單元。3.4.2 站點站點是一系列頁面組合,這些頁面能夠顯示內(nèi)容,也能提供特定應(yīng)用的訪問路徑。站點的成員可以有高級權(quán)限去訪問指定的頁面和內(nèi)容。添加站點有三個站點選項,如下圖,分別是:(1)添加空白站點(2)添加社區(qū)站點:Site with Forums, Calendar and Wiki。(3)添加局域網(wǎng)站點:Site wi
11、th Documents, Calendar and News。 3.4.3 網(wǎng)站模板站點模板使得您能夠在創(chuàng)建站點時定義所需頁面和網(wǎng)頁內(nèi)容。管理員能夠創(chuàng)建并編輯站點模板,也能夠?qū)ζ錂?quán)限進行設(shè)置。3.4.4 網(wǎng)頁模板網(wǎng)頁模板:頁面模板使您能夠在創(chuàng)建頁面時選擇所需頁面和 portlet 。管理員可以創(chuàng)建和編輯頁面模板,也可以對其使用權(quán)限進行設(shè)置。3.4.5 用戶群組用戶組提供了一種聚集用戶的方法,與他們所屬的組織無關(guān)。管理員能夠定義一個用戶組并且分配用戶組作為一個站點的成員,這也將自動地將此用戶組的所有成員分配給了此站點。3.4.6 角色常規(guī)角色:超級管理員,游客,所有者,特權(quán)用戶,普通用戶。站點
12、角色:站點管理員,站點成員,站點所有者。組織角色:機構(gòu)管理員,機構(gòu)所有者,機構(gòu)用戶。例如,學(xué)校用戶,部門成員等。3.4.7 portal設(shè)置Portal設(shè)置:此處所說的“設(shè)置”指的是與大多數(shù)全球性 portal 設(shè)置相同的設(shè)置,包括名字、身份驗證、默認用戶關(guān)聯(lián)、郵件主機名稱。其中的核心是CAS等SSO用戶統(tǒng)一認證設(shè)置,如下圖。4 Portal架構(gòu)4.1 portal和portlet的概念“Portal”一詞在英語中解釋為“入口,大門”,中文翻譯為“門戶”。在Sun的Portlet技術(shù)規(guī)范JSR-168(Java Specification Request 168)中定義為:Portal是基于W
13、eb的應(yīng)用,通常提供個性化,單點登錄,整合不同資源的綜合信息展示平臺。Portal展現(xiàn)在最終用戶面前的是類似于Web網(wǎng)頁的Portal頁面,也許有些Portal主頁制作的更像是一個桌面系統(tǒng)的界面,更能獲得用戶的認可。構(gòu)成Portal頁面的是能夠建立和展現(xiàn)不同內(nèi)容的一系列Portlet。Portal使用Portlet作為可插拔用戶接口組件,提供信息系統(tǒng)的表示層。Portlet是部署在特定容器內(nèi)用來生成動態(tài)內(nèi)容的可重用Web組件。Portlet處理從Portal傳遞來的用戶請求,動態(tài)生成輸出內(nèi)容的一個片段,展現(xiàn)在Portal頁面的某個位置上。Portlet的主要特點:Portlet 是基于Java
14、技術(shù)的Web 組件。 由專門的容器管理 Portlet 。 Portlet用于生成動態(tài)內(nèi)容。 Portlet只生成標記片段,并不產(chǎn)生完整的Web頁面。由Portal負責將Portlet片段整合成完整的Portal頁面。Portlet不直接捆綁到URL。Web用戶通過Portal同Portlet進行交互。Portlet具有預(yù)定義的模版和視窗狀態(tài)。Portlet容器是Portlet的運行環(huán)境,它負責管理Portlet的生命周期,保存Portlet的定制信息。通俗的講,Portlet容器就是Portlet組件工作的管理器,這一點類似于Servlet容器和Servlet之間的關(guān)系。4.2 portal
15、結(jié)構(gòu)Portal是一個Web頁面,它由一個或若干個Portal頁面組織而成。而每個Portal頁面又是由一個或若干個Portlet窗口構(gòu)成的Portlet是以窗口的形式出現(xiàn)在Portal頁面里。如圖所示是一個Portal頁面結(jié)構(gòu)的示例,有四個Portlet窗口。 Portlet窗口由兩部分構(gòu)成:其一是外觀,包含有標題條、窗口控制和邊框樣式;其二是內(nèi)容,即Portlet片段。如圖顯示了Portal服務(wù)器、Portlet容器以及Portlet之間的關(guān)系。4.3 portal的組成架構(gòu)Portal系統(tǒng)一般由Portal服務(wù)器、支持Servlet的Java應(yīng)用服務(wù)器或Web服務(wù)器、數(shù)據(jù)庫服務(wù)
16、器、LDAP服務(wù)器組成,此外還可以加上身份認證和訪問控制服務(wù)器(Identity Server或Access Manager)等。前面所說的Portlet容器通常是打包在Portal服務(wù)器中的。有的Portal系統(tǒng)可以工作在具有Servlet容器的Web服務(wù)器上,但多數(shù)Portal要求在Java應(yīng)用服務(wù)器上運行。如Liferay Portal既能在Tomcat(Servlet容器+Web服務(wù)器)上使用,也可以在JBossAS(Java應(yīng)用服務(wù)器+Web服務(wù)器)上運行,而JBoss Portal只支持JBossAS的Java應(yīng)用服務(wù)器。通常,Portal的定制信息是保存在數(shù)據(jù)庫中的,幾乎所有的P
17、ortal系統(tǒng)產(chǎn)品需要數(shù)據(jù)庫管理系統(tǒng)的支持。LDAP服務(wù)器主要用在用戶管理、身份認證和權(quán)限管理上。有些Portal系統(tǒng)也支持使用數(shù)據(jù)庫來管理用戶身份和權(quán)限。為了解決用戶單點登錄和訪問控制問題,也許還要增加這方面的專業(yè)服務(wù)軟件,如Idengtity Manager或Access Manager等。此外,Portal服務(wù)器也支持其它應(yīng)用服務(wù)系統(tǒng)的協(xié)同工作,比如同電子郵件(Email),網(wǎng)絡(luò)交談(Chat),網(wǎng)絡(luò)會議(Web Conference),以及基于Lotus Domino的OA系統(tǒng)等直接對接聯(lián)動。4.4 portal應(yīng)用架構(gòu)如圖是Portal應(yīng)用的一個示例架構(gòu)圖。4.5 Portal主要功
18、能1、單點登錄(SSOSingle Sign-On):Portal提供對各種應(yīng)用系統(tǒng)和數(shù)據(jù)的安全集成,用戶只需從Portal服務(wù)器登錄一次就可以訪問其它應(yīng)用系統(tǒng)和數(shù)據(jù)庫。對于安全性要求較高的業(yè)務(wù)系統(tǒng),如電子銀行、電子交易系統(tǒng)等,通過傳遞用戶身份信息,如數(shù)字證書信息、數(shù)字簽名信息等進行二次身份認證,保證單點登錄的安全性。單點登錄既減少了用戶在多個應(yīng)用系統(tǒng)反復(fù)登錄多次認證的麻煩,更是簡化了各種應(yīng)用系統(tǒng)對用戶及其權(quán)限的一致性維護管理。2、資源整合:能夠把各種不同應(yīng)用的內(nèi)容聚合到一個統(tǒng)一的頁面呈現(xiàn)給用戶,實現(xiàn)同應(yīng)用系統(tǒng)實時交換信息。能夠從各種數(shù)據(jù)源如數(shù)據(jù)庫、多種格式的文件檔案、Web頁面、電子郵件等集
19、成用戶所需的動態(tài)內(nèi)容。3、定制與個性化:能夠為不同角色的用戶制定不同功能權(quán)限的Portal頁面。同時,用戶自己也能夠按照喜好在規(guī)定的權(quán)限下定制自己風(fēng)格的頁面和內(nèi)容,如可以定制Portal頁面,取舍不同功能和內(nèi)容的Portlet窗口,自行布置Portlet窗口的擺放位置,可以對Portlet窗口外觀,如標題,圖標,顏色等進行個性化設(shè)置。4、協(xié)作功能:為用戶提供即時討論,聊天,論壇,電子郵件以及語音或視頻會議等功能。5、工作流:支持根據(jù)業(yè)務(wù)處理規(guī)則建立起來的工作流任務(wù)處理,比如審批流程等待辦事宜。6、信息檢索:從多種數(shù)據(jù)源檢索動態(tài)信息資料。7、客戶端:除了Web瀏覽器外,可以為PDA和手機提供接口
20、,實現(xiàn)移動接入服務(wù)。5 Portal標準建立一個以標準為依托的Portal才能很好地保護自己的投資,既便于同現(xiàn)有應(yīng)用系統(tǒng)連接,也使得同第三方的相關(guān)產(chǎn)品更容易接口。在2003年先后發(fā)布的JSR-168和WSRP兩大標準為Portal的發(fā)展奠定了基礎(chǔ),結(jié)束了戰(zhàn)國紛爭的局面,Portal的發(fā)展和應(yīng)用將會更加廣闊長遠。下面介紹幾個與Portal緊密相關(guān)的技術(shù)標準:1、WSDLWeb Service Description LanguageWeb服務(wù)描述語言。WSDL是用來描述Web服務(wù)和說明如何與Web服務(wù)通信的XML語言。WSDL語言使用XML格式來描述信息的接口、訪問格式和處理形式。WSDL描述信
21、息內(nèi)容。2、SOAPSimple Object Access Protocol簡單對象訪問協(xié)議。SOAP是一種在無中心的分布式環(huán)境下,應(yīng)用系統(tǒng)之間交換結(jié)構(gòu)化信息和特定類型的信息所使用的基于XML的輕量級協(xié)議。SOAP允許任何信息對象在任何語言、任何平臺上使用多種傳輸協(xié)議實現(xiàn)傳輸處理。SOAP定義信息的傳輸處理。在Web應(yīng)用環(huán)境中,通常把SOAP同WSDL結(jié)合起來,利用HTTP協(xié)議實現(xiàn)應(yīng)用系統(tǒng)之間交換各種類型的信息對象。3、JSR -168Java Specification Request - Portlet SpecificationJava Portlet規(guī)范。JSR-168為業(yè)界明確了P
22、ortal的定義,制定了Portlet規(guī)范標準,從而解決了基于Java的Portal之間,以及同其他Web應(yīng)用系統(tǒng)之間的互操作性。遵循JSR-168的Portlet將具有適用于所有Portal服務(wù)器和Web應(yīng)用系統(tǒng),支持多種類型的客戶端,支持本地化和國際化,具備確定的安全性,允許Portal應(yīng)用程序熱部署和重新部署。4、WSRPWeb Services for Remote Portlets遠程Portlet Web服務(wù)協(xié)議。WSRP定義了Portal和Portlet容器服務(wù)之間標準化接口的一個Web服務(wù)標準。WSRP允許在Portal之間或其他Web應(yīng)用上即插即用,具有互操作性,提供可視化的
23、、面向用戶的遠程Web服務(wù)。遠程Portlet在遠程服務(wù)器上作為Web服務(wù)運行,其服務(wù)可以發(fā)布到公共的或單位自己的UDDI服務(wù)器上。Portal或其他支持WSRP的應(yīng)用系統(tǒng)通過UDDI服務(wù)來查找并使用遠程系統(tǒng)提供的WSRP服務(wù)內(nèi)容。WSRP的典型應(yīng)用是把天氣預(yù)報、即時新聞、股市行情等嵌入到自己的Portal中(在國外有專門的WSRP內(nèi)容提供商提供這種服務(wù))。WSRP使用了WSDL定義應(yīng)用程序的接口,并以SOAP作為通訊標準。5、其他規(guī)范標準此外還有一些與Portal有一定關(guān)聯(lián)的技術(shù)標準,在開發(fā)建立Portal應(yīng)用中將會使用到:UDDI:Universal Description,Discove
24、ry and IntegrationJSR-170/283:Java Specification Request - Content Repository for Java Technology APIJAAS:Java Authentication and Authorization ServiceLDAP:Lightweight Directory Access ProtocolSAML:Security Assertion Markup LanguageBPEL:Business Process Execution Language for Web Services6 liferay國際
25、化6.1屬性的國際化新建liferay portlet時選中create resource bundle file可自動在WEB-INF/src/content/創(chuàng)建Lperties文件,如下圖:也可以在content下綁定具體語言的文件,如Language_zh_CN.properties在此文件中寫入javax.portlet.title.portletName=中文標題名稱。6.2 內(nèi)容的國際化Jsp中引用LanguageUtil.get(pageContext,”propertyName”);Java代碼中LanguageUtil.get(porletReques
26、t.getLocal(),”propertyName”);第一個參數(shù)是Local,也可以是Local.CHINESE,第二個參數(shù)是資源文件中的變量。7 常用參數(shù)配置7.1 文件存儲路徑iferay中的文件存儲路徑默認是保存在和tomcat同級的data/document_library目錄下面,如果想要自定義,可以修改以下參數(shù):dl.store.file.system.root.dir=$liferay.home/data/document_library這里定義的即為系統(tǒng)的文件存儲路徑,默認是和liferay.home的路徑有關(guān)的,相對于liferay.home的相對路徑,你也可以設(shè)置絕對路
27、徑,如下:dl.store.file.system.root.dir=E:/liferay/document_library7.2 去掉公共頁和私有頁layout.user.private.layouts.enabled=falselayout.user.private.layouts.auto.create=false7.3 去掉用戶第一次登錄時的密碼提示Users.remider.queries.enabled=false7.4 讓沒有權(quán)限的portlet隱藏掉Layout.show.portlet.access.denied=false7.5 上傳文件大小配置dl.file.max.si
28、ze=10485760 單位字節(jié),這個配置是10M7.6 liferay的登錄認證形式使用屏幕名稱:company.security.auth.type=screenName使用用戶ID:Company.security.auth.type=userId7.7 liferay默認進入的站點=xxx后面的xxx這個具體等于多少,要查看數(shù)據(jù)庫表group_表,此表里面有許多的社區(qū),在此表的name字段下面尋找我們要默認進入的站點名稱,替換上面的xxx注意:如果這里是中文字符,需要轉(zhuǎn)換為unicode編碼,如:Virtual.hosts.
29、=u5927u55107.8 event配置Event不但可以portlet到portlet傳值,也可以一個頁面到另一個頁面?zhèn)髦担趐erties中修改一下:將上面的改為portlet.event.distribution=lalyout-set7.9 設(shè)置session 1.在perties文件中找到如下一列session.shared.attributes=COMPANY_,LIFERAY_SHARED_,org.apache.struts.action.LOCALE,PORTLET_RENDER_PARAMET
30、ERS_,PUBLIC_RENDER_PARAMETERS_POOL_,USER_,DIC_SHARE_USER_JOB在后面添加一個自己的session參數(shù)即可,如上DIC_SHARE_USER_JOB為自己添加的參數(shù)2.在liferay-portelt.xml文件portlet下設(shè)置<private-session-attributes>false</private-session-attributes>3.發(fā)起portlet存session,設(shè)置如下:request.getPortletSession().setAttribute(“DIC_SHARE_USER_
31、JOB”,strChoseJob,PortletSession.APPLICATION_SCOPE);4.取sessionString str=ObjectUtils.toString(renderRequest.getPortletSession().getAttribute(“DIC_SHARE_USER_JOB”,PortletSession.APPLICATION_SCOPE);8 liferay中常用的API8.1 獲取HttpServletRequest在一些特殊情況下,我們希望在portlet中使用原生的httpServletRequest,可以使用下面的代碼獲取,下面分別是re
32、nderRequest和actionRequest,可以將renderRequest和actionRequest轉(zhuǎn)化為HttpServletRequest:HttpServletRequest request=PortalUti.getHttpServletRequest(renderRequest);HttpServletRequest request=PortalUtil.getHttpServletResponse(actionRequest);8.2 獲取UserId、groupId、companyIdLiferay中的二級開發(fā),在設(shè)計表的時候強烈建議為每一個表添加groupId和co
33、mpanyId,這樣我們的系統(tǒng)就可以在不同的站點,company下面獨立使用。獲取這些參數(shù)的代碼如下:Long companyId = PortalUtil.getCompanyId(actionRequest); Long userId = PortalUtil.getUserId(actionRequest); try Long groupId = PortalUtil.getScopeGroupId(actionRequest); /獲取User User user = PortalUtil.getUser(actionRequest); System.out.println("
34、;companyId:" + companyId + " userId:" + userId + " groupId:" + groupId); System.out.println("User信息如下:n" + "Email:" + user.getEmailAddress() + "全名:" + user.getFullName() + "密碼:" + user.getPassword(); catch (PortalException e) / TODO Au
35、to-generated catch block e.printStackTrace(); catch (SystemException e) / TODO Auto-generated catch block e.printStackTrace(); 8.3 獲取當前頁面、導(dǎo)航的名稱Liferay中的導(dǎo)航其實就是一個個的頁面,這個頁面對應(yīng)于liferay中的Layout這個實體,其實要獲取頁面/導(dǎo)航信息,只需要獲取到Layout即可。Layout在jsp中通過下面的兩種方法獲取Layout layout=(Layout)request.getAttribute(WebKeys.LAYOUT)
36、;或者是添加以下的標簽:<% taglib uri=” prefix=”liferay-theme”%><liferay-theme:defineObjects/>有了上面的這兩個標簽,即可直接使用layoutLayout.getName就是頁面/導(dǎo)航的名稱,通過這個可以獲取父頁面的信息,子頁面的信息等。如<% taglib uri=" prefix="liferay-theme" %><liferay-theme:defineObjects/><%=layout.getName() %><!- 頁
37、面/導(dǎo)航信息->8.4 獲取當前環(huán)境運行類型If(ServerDetector.isTomcat()/Tomcat Server.else if(ServerDetector.isWebLogic()/WebLogic Server8.5 Validator驗證com.liferay.util.Validator判斷字符串、數(shù)組等是不是為空Validator.isNull(String s);Validator.isNotNull(String s); /判斷是不是Email地址Validator.isEmailAddress(String s);判斷字符串是否為ascii字符:Vali
38、dator.isChar(String s);判斷字符是否為ascii字符:Validator.isChar(char c);8.6 ParamUtil/取字符串String name=ParamUtil.getString(actionRequest,”name”);等于String name=actionRequest.getParamter(“name”);Int PramUtil.getInteger(actionRequest,”age”);Double ParamUtil.getDouble(.,.);Boolean ParamUtil.getBoolean(.,.);8.7 pa
39、sswordliferay的password是編碼過得,而且是單方的,不能反過來,只能把你的密碼編碼了和數(shù)據(jù)庫比較.看liferay的源碼com.liferay.portal.action.LoginAction這里面有:PasswordEncryptorUtil.encrypt("123456")9 創(chuàng)建主題Liferay中的風(fēng)格包在html/themes下9.1主題目錄css:該主題的樣式文件images:主題的圖片文件 javascript:主題所需的javascript文件 templates:主題的velocity模版文件 9.2主題樣式文件main.css:主樣
40、式文件 base.css:基礎(chǔ)樣式 custom.css:個性化樣式 form.css:portlet中form樣式 layout.css:布局樣式 navigation.css:導(dǎo)航樣式 portlet.css:portlet樣式 tabs.css:表格樣式 注:主題的樣式要寫在對應(yīng)的樣式文件里,這樣維護方便。 主題圖片: 注:主題的圖片要放在對應(yīng)的文件里,這樣維護方便。 9.3主題模版文件 模版初始化在/html/themes/_unstyled/templates/init.vm portal_normal.vm:是整體portal模板 它包括了: -banner部分 -logo徽標 -
41、dock管理工具 -navigation導(dǎo)航部分 -Portlet容器部分 -bottom部分 navigation.vm:導(dǎo)航模板 -當前portal的子頁或子portal -我的空間(當前用戶能訪問的空間或工作區(qū))dock.vm:管理工具模板 -首頁 -我的賬戶 -登出 -登入 -添加內(nèi)容 -風(fēng)格 -頁面設(shè)置 portlet.vm:portlet模版 -top -body -bottom 9.4在eclipse下創(chuàng)建主題File->new->liferay-project如下圖,選擇theme項目結(jié)構(gòu)如圖所示在_diffs文件夾下,修改相應(yīng)的文件來適應(yīng)自己的需求,然后部署到服務(wù)
42、其中然后在站點頁面中即可看到部署的主題,選擇使用即可,如下圖所示:10 創(chuàng)建Layout Template1.在E:liferay6.1.1liferay-portal-6.1.1-ce-ga2-jajboss-7.1.1standalonedeploymentsROOT.warlayouttpl(本人的目錄是這樣的)中找到custome文件夾,在此文件夾中創(chuàng)建如下三個文件:xxx.tpl和xxx.wap.tpl內(nèi)容一樣1.1_2_3_2_columns.tpl<div class="columns-1-2-1" id="main-content"
43、 role="main">#if ($browserSniffer.isIe($request) && $browserSniffer.getMajorVersion($request) < 8)<table class="portlet-layout"><tr><td class="portlet-column portlet-column-only" id="column-1">$cessColumn("colu
44、mn-1", "portlet-column-content portlet-column-content-only")</td></tr></table><table class="portlet-layout"><tr><td class="aui-w50 portlet-column portlet-column-first" id="column-2">$cessColumn("column
45、-2", "portlet-column-content portlet-column-content-first")</td><td class="aui-w50 portlet-column portlet-column-last" id="column-3">$cessColumn("column-3", "portlet-column-content portlet-column-content-last")</td>
46、;</tr></table><table class="portlet-layout"><tr><td class="portlet-column portlet-column-only" id="column-4">$cessColumn("column-4", "portlet-column-content portlet-column-content-only")</td><td cla
47、ss="portlet-column portlet-column-only" id="column-5">$cessColumn("column-5", "portlet-column-content portlet-column-content-only")</td><td class="portlet-column portlet-column-only" id="column-6">$c
48、essColumn("column-6", "portlet-column-content portlet-column-content-only")</td></tr></table><table class="portlet-layout"><tr><td class="portlet-column portlet-column-only" id="column-7">$cessColumn(&
49、quot;column-7", "portlet-column-content portlet-column-content-only")</td><td class="portlet-column portlet-column-only" id="column-8">$cessColumn("column-8", "portlet-column-content portlet-column-content-only")</td&
50、gt;</tr></table>#else<div class="portlet-layout"><div class="portlet-column portlet-column-only" id="column-1">$cessColumn("column-1", "portlet-column-content portlet-column-content-only")</div></div>&
51、lt;div class="portlet-layout"><div class="aui-w50 portlet-column portlet-column-first" id="column-2">$cessColumn("column-2", "portlet-column-content portlet-column-content-first")</div><div class="aui-w50 portlet-c
52、olumn portlet-column-last" id="column-3">$cessColumn("column-3", "portlet-column-content portlet-column-content-last")</div></div><div class="portlet-layout"><div class="portlet-column portlet-column-only" id
53、="column-4">$cessColumn("column-4", "portlet-column-content portlet-column-content-only")</div><div class="portlet-column portlet-column-only" id="column-5">$cessColumn("column-5", "portlet-colu
54、mn-content portlet-column-content-only")</div><div class="portlet-column portlet-column-only" id="column-6">$cessColumn("column-6", "portlet-column-content portlet-column-content-only")</div></div><div class="p
55、ortlet-layout"><div class="portlet-column portlet-column-only" id="column-7">$cessColumn("column-7", "portlet-column-content portlet-column-content-only")</div><div class="portlet-column portlet-column-only" id=&qu
56、ot;column-8">$cessColumn("column-8", "portlet-column-content portlet-column-content-only")</div></div>#end</div>2.在E:liferay6.1.1liferay-portal-6.1.1-ce-ga2-jajboss-7.1.1standalonedeploymentsROOT.warWEB-INF(本人目錄如此)下建一個liferay-layout-templates-ext.xml<?xml version="1.0"?><!DOCTYPE layout-templates PUBLIC "-/Liferay/DTD Layout Templates 5.2.0/EN&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 污泥委托處置合同范例
- 單位物業(yè)工程合同范例
- 服裝制版師習(xí)題
- 2025年聊城道路運輸從業(yè)資格考試系統(tǒng)
- 售后返租合同范例
- 工程招商合同范例
- 商業(yè)演出合同范例
- 本地戶外租賃合同范例
- 電控箱加工合同范例
- 2025年七臺河貨運從業(yè)資格證考試題庫答案
- 鐵路建設(shè)項目施工企業(yè)信用評價辦法(鐵總建設(shè)〔2018〕124號)
- 模具報價表精簡模板
- 形式發(fā)票模板 PI模板 英文版
- 初一的最美的風(fēng)景高分的作文600字
- 高考英語單項選擇題題庫題
- 檢驗檢測機構(gòu)資質(zhì)認定現(xiàn)場評審日程表及簽到表
- 完整版高低壓開關(guān)柜投標文件技術(shù)標
- 蘭州市行政區(qū)劃代碼表
- 管鮑之交-歷史劇劇本(共4頁)
- [交流][jtag]跟我學(xué)jtag協(xié)議破解——第一彈初識jtagtap狀態(tài)機
- 尼康FM2說明書25頁
評論
0/150
提交評論