LifeRay培訓(xùn)講義3-LifeRayPorlet插件2.x[修復(fù)的]_第1頁(yè)
LifeRay培訓(xùn)講義3-LifeRayPorlet插件2.x[修復(fù)的]_第2頁(yè)
LifeRay培訓(xùn)講義3-LifeRayPorlet插件2.x[修復(fù)的]_第3頁(yè)
LifeRay培訓(xùn)講義3-LifeRayPorlet插件2.x[修復(fù)的]_第4頁(yè)
LifeRay培訓(xùn)講義3-LifeRayPorlet插件2.x[修復(fù)的]_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、開(kāi)發(fā)Portlet插件開(kāi)發(fā)主題模板/布局模板插件Liferay ThemeLiferay Theme的概覽和練習(xí). .Liferay Layout Liferay Layout TemplateTemplate的概覽和練習(xí). .高級(jí)Theme, Layout Theme, Layout Topics, Best Topics, Best Practices.Practices.開(kāi)發(fā) Hook 插件自定義Portlets(Portlets(自定義 Properties)Properties)登錄后創(chuàng)建cookiecookie自定義語(yǔ)言自定義LiferayLiferay核心JSPsJSPs覆蓋Te

2、rms of UseTerms of Use開(kāi)發(fā)開(kāi)發(fā) EXT Plugins EXT Plugin概覽 繼承用戶管理 覆蓋Struts Actions高級(jí)話題高級(jí)話題 Spring in Liferay AUI 使用Liferay Web Services 開(kāi)發(fā)策略總結(jié)總結(jié)主題模板主題模板理解主題及其結(jié)構(gòu)理解主題的標(biāo)記語(yǔ)言、CSS和JSAlloyUI的使用lookAndFeel文件理解模板的慣例實(shí)踐例子理解主題及其結(jié)構(gòu)創(chuàng)建工程主題結(jié)構(gòu)可以看到不包含任何代碼編譯和部署理解主題及其結(jié)構(gòu)Liferay的缺省Theme有兩個(gè)最重要 _unstyled有完整的主題需要的所有缺省的Velocity模板和圖

3、片,但沒(méi)有CSS。CSS文件在,但是沒(méi)有內(nèi)容,僅僅有描述。 _styled只包括基本的CSS風(fēng)格,以及頁(yè)面風(fēng)格的截圖。Liferays 缺省主題稱為Classic是_styled theme的擴(kuò)展 理解主題及其結(jié)構(gòu)_diffs:存放自己代碼的地方css:該主題的樣式文件images:主題的圖片文件javascript:主題所需的javascript文件templates:主題的velocity模版文件或freemark或jsp理解主題的標(biāo)記語(yǔ)言、CSS和JS缺省的標(biāo)記文件理解主題的標(biāo)記語(yǔ)言、CSS和JS缺省的lifeRay頁(yè)面結(jié)構(gòu)通過(guò)CSS來(lái)確定相應(yīng)的風(fēng)格理解主題的標(biāo)記語(yǔ)言、CSS和JS使用C

4、SS10理解主題的標(biāo)記語(yǔ)言、CSS和JS使用JS全局的js頁(yè)面的js$layout.getTypeSettingsProperties().getProperty(javascript-1)$layout.getTypeSettingsProperties().getProperty(javascript-2)$layout.getTypeSettingsProperties().getProperty(javascript-3)AlloyUI的使用AlloyUI作為js的庫(kù)組件庫(kù)良好的設(shè)計(jì)AlloyUI的使用Liferay的客戶化jsLiferay.AutoFieldsLiferay.Col

5、orPickerLiferay.LanguageLiferay.NoticeLiferay.PanelLiferay.UploadLiferay.UtillookAndFeel文件liferay-look-and-feel.xml限制使用模板的公司修改缺省的路徑模板語(yǔ)言修改模板的條件設(shè)置設(shè)置權(quán)限和角色色彩模板14理解模板的慣例瀏覽器兼容性引擎兼容性CSS選擇器兼容性理解模板的慣例瀏覽器兼容性瀏覽器兼容性實(shí)踐例子創(chuàng)建項(xiàng)目修改css部署和運(yùn)行布局模板布局模板創(chuàng)建Layout項(xiàng)目修改tpl文件縮略圖的修改部署和運(yùn)行實(shí)踐Hook插件Hook插件什么是hookHook可以做什么自定義Portlets(自

6、定義 Properties)覆蓋Terms of Use登錄后創(chuàng)建cookie自定義語(yǔ)言自定義Liferay核心JSPsHook是什么是用于重寫或覆蓋Liferay的一些默認(rèn)方法或頁(yè)面。為開(kāi)發(fā)提供了一種在不直修改Liferay核心源碼的情況下修改Liferay核心功能的方法。熱部署像portletsportlets等一樣簡(jiǎn)單可以隨意的在工程中增刪使用公開(kāi)的APIAPI接口,便于升級(jí)有獨(dú)立的類加載器Hook與EXTEXT插件有以下的優(yōu)點(diǎn)可以對(duì)任何東西進(jìn)行客戶化與portalportal運(yùn)行在相同的類加載器中必須重啟無(wú)法取消部署Hook可以做什么覆蓋事件處理程序語(yǔ)言包liferay工程的portl

7、et JSP內(nèi)容覆蓋perties里面的屬性配置覆蓋liferay的services里面的方法Liferay的Model監(jiān)聽(tīng)程序24創(chuàng)建工程創(chuàng)建hook工程編寫liferay-hook.xml:25修改屬性哪些可以修改liferay-hook_6_1_0.dtdliferay-hook_6_1_0.dtd特點(diǎn)該配置文件中有些屬性的值是可以有多個(gè)的,例如:login.events.prelogin.events.pre但是有些屬性的值是唯一的,例如:terms.of.use.requiredterms.of.use.required26修改屬性實(shí)踐:修改terms of us

8、er修改liferay-hook.xmlliferay-hook.xml增加perties文件,修改屬性值部署和驗(yàn)證27修改portal的事件屬性Properties中的多值屬性application.startup.eventsapplication.startup.events代表了portalportal啟動(dòng)的時(shí)候,會(huì)調(diào)用的類通過(guò)實(shí)現(xiàn)這些類來(lái)獲取特定的功能修改portal的事件屬性三類事件屬性:event激發(fā)了ActionSimpleActionSimpleAction簡(jiǎn)單ActionAction,這一類行為不依賴于任何liferay

9、liferay和客戶之間的預(yù)先的交互行為。ActionAction這一類依賴于HttpServletRequestHttpServletRequest和HttpServletResponseHttpServletResponse。因此不適合在程序啟動(dòng)時(shí)候使用,可以在login.events.prelogin.events.pre等中使用SessionActionSessionAction依賴于 HttpSession HttpSession修改portal的事件屬性修改啟動(dòng)事件修改portal的事件屬性登陸創(chuàng)建cookiepublic void run(HttpServletRequest r

10、eq, HttpServletResponse res) throws ActionException try long companyId = PortalUtil.getCompanyId(req); long userId = PortalUtil.getUserId(req); String domain = PropsUtil.get(session.cookie.domain); String cookieValue = companyId= + companyId + ,userId= + userId; Cookie cookie = new Cookie(TRAINING_C

11、OOKIE, cookieValue); if (Validator.isNotNull(domain) cookie.setDomain(domain); cookie.setPath(StringPool.SLASH); res.addCookie(cookie); catch (Exception e) throw new ActionException(e); 修改portal的監(jiān)聽(tīng)屬性支持重寫value.object.listener.*屬性允許你增加自己需要的客戶化針對(duì)liferay中任何實(shí)體的監(jiān)聽(tīng)器場(chǎng)景如你在任何新的blogblog新建的blogblog的時(shí)候都需要發(fā)一封emai

12、lemail監(jiān)聽(tīng)器要實(shí)現(xiàn)接口:com.liferay.portal.model.ModelListener修改portal的監(jiān)聽(tīng)屬性監(jiān)聽(tīng)事件onBeforeCreateonBeforeCreateonAfterRemoveonAfterRemoveonBeforeRemoveonBeforeRemoveonBeforeUpdateonBeforeUpdateonAfterUpdateonAfterUpdatevalue.object. .liferay.portlet.blogs.model.BlogsEntry= com.inkwell.liferay.portlet.blogs.NewBl

13、ogEntryListener修改語(yǔ)言屬性修改語(yǔ)言屬性實(shí)踐修改使用條款修改啟動(dòng)事件修改用戶登陸事件修改語(yǔ)言屬性自定義核心jsp可以修改任何核心的JSP配置編寫jspjsp如何利用已有的如何利用已有的jsp內(nèi)容內(nèi)容修改edit.jsp實(shí)踐Ext插件EXT插件EXT Plugin概覽繼承用戶管理覆蓋Struts ActionsEXT插件簡(jiǎn)介Ext Plugin提供擴(kuò)展Liferay非常強(qiáng)大的方法,它只用在當(dāng)其它所有插件都不能滿足項(xiàng)目的需要的時(shí)候,自定義使用它不受限制。決定使用Ext插件之前,你必須懂得使用如此強(qiáng)大的工具的代價(jià)(Ext允許使用內(nèi)部API甚至覆蓋提供的Liferay源碼),當(dāng)使用Ext

14、時(shí)及更新部署時(shí)一定要慎重考慮并進(jìn)一步核實(shí)是否可以用portlet、Hooks或Web插件替代。采用Ext插件開(kāi)發(fā)一般情況1) 定制perties2) 定制 Struts Actions3) 定制 Liferay的Spring文件聲明的接口的實(shí)現(xiàn)4) 添加JSP頁(yè)面只能通過(guò)portal properties文件采用Ext 插件去改變(一定要檢查是否能能過(guò)Hook插件去修改)5) 直接覆蓋一個(gè)類(不推薦,除非十分必要)EXT插件簡(jiǎn)介工程目錄結(jié)構(gòu):完全是項(xiàng)目的鏡像ext-impl/src: ext-impl/src: 主要存放pertie

15、perties、用戶實(shí)現(xiàn)類以及當(dāng)需要修改覆蓋LiferayLiferay源碼portal-impl.jarportal-impl.jar文件時(shí)修改的類ext-lib/global: ext-lib/global: 主要存放類庫(kù)* *.jar.jar文件,當(dāng)部署ExtExt插件時(shí),首先應(yīng)將此目錄下jarjar包拷貝到應(yīng)用服務(wù)器里相應(yīng)目錄下(此目錄很少用,一般采用存放到下面目錄里)EXT插件簡(jiǎn)介ext-lib/portal: ext-lib/portal: 這里主要存放用戶編寫代碼需要用到的jarjar包存放位置ext-service/src: ext-service/src: 存

16、放在這里類可供其它插件調(diào)用。當(dāng)Build service.xml Build service.xml 生成的所有ServiceService接口都存放在這個(gè)目錄,而且這個(gè)目錄將存放覆蓋portal-servivce.jarportal-servivce.jar的類ext-web/docroot: ext-web/docroot: 主要包含WebWeb應(yīng)用一些配置文件及JSPJSP頁(yè)面OtherOther: ext-util-bridges,ext-util- ext-util-bridges,ext-util-java,ext-util-taglibjava,ext-util-taglib僅僅

17、在高級(jí)場(chǎng)合用到,大多數(shù)場(chǎng)合可以忽視這些目錄。EXT插件簡(jiǎn)介主要配置文件的作用portal-ext.porperties: portal-ext.porperties: 被用來(lái)可以直接覆蓋LiferayLiferay的任何配置文件,甚至那些不能被HookHook鉤子插件覆蓋的,這個(gè)文件將被替代服務(wù)應(yīng)用服務(wù)器的任何perties文件,這個(gè)文件涉及到數(shù)據(jù)連接,系統(tǒng)補(bǔ)丁等等。EXT插件簡(jiǎn)介portal-ext.xml: portal-ext.xml: 被用來(lái)覆蓋已定義的Liferay portletLiferay portlet,首

18、先應(yīng)從LiferayLiferay源碼中的portal-constom.xmlportal-constom.xml將所有的描述portletportlet拷貝到portal-ext.xmlportal-ext.xml文件中,然后再進(jìn)行相應(yīng)的修改。Liferay-portal-ext.xml: Liferay-portal-ext.xml: 與portal-portal-ext.xmlext.xml很類似,但是額外定義liferayliferay元素,從liferayliferay源碼中l(wèi)iferay-portal.xmlliferay-portal.xml拷貝所有的描述portletportl

19、et,然后作相應(yīng)修改。struts-config-ext.xml struts-config-ext.xml 和 tiles-defs- tiles-defs-ext.xmlext.xml: 用戶創(chuàng)建自己的struts actionstruts action在這里定義EXT插件簡(jiǎn)介高級(jí)配置文件的作用ext-impl/src/META-INF/ext-model-ext-impl/src/META-INF/ext-model-hints.xmlhints.xml:覆蓋LiferayLiferay核心portletsportlets使用數(shù)據(jù)模塊域默認(rèn)配置,這個(gè)配置文件決定怎樣表單去創(chuàng)建或修改每個(gè)被

20、提交的模塊ext-impl/src/META-INF/ext-ext-impl/src/META-INF/ext-spring.xml: spring.xml: 覆蓋LiferayLiferay使用的SpringSpring配置文件和任何它的PortletsPortlets,可以為serviceservice提供數(shù)據(jù)源EXT插件簡(jiǎn)介ext-impl/src/content/Language-ext-impl/src/content/Language-ext_ext_* *.properties: .properties: 國(guó)際化文件ext-impl/src/META-INF/portal-lo

21、g4j-ext-impl/src/META-INF/portal-log4j-ext.xmlext.xml:可以覆蓋log4jlog4j配置文件ext-ext-impl/src/com/liferay/portal/jcr/jackraimpl/src/com/liferay/portal/jcr/jackrabbit/dependencies/repository-bbit/dependencies/repository-EXT插件簡(jiǎn)介ext.xmlext.xml: 覆蓋JackrabbitJackrabbit庫(kù)ext-web/docroot/WEB-INF/portlet-ext-web/

22、docroot/WEB-INF/portlet-ext.xmlext.xml: 覆蓋LiferayLiferay中聲明的核心PortletsPortlets,最常用的改變PortletsPortlets用戶角色ext-web/docroot/WEB-INF/liferay-ext-web/docroot/WEB-INF/liferay-portlet-ext.xmlportlet-ext.xml:覆蓋LiferayLiferay中聲明的核心PortletsPortlets,涉及l(fā)iferay-portlet-liferay-portlet-app_6_0_0.dtdapp_6_0_0.dtd所有詳細(xì)選項(xiàng),小心使用這個(gè)文件,由于這個(gè)文件能設(shè)置核心portletsportlets某些值47EXT插件簡(jiǎn)介ext-web/docroot/WEB-INF/liferay-ext-web/docroot/WEB-INF/liferay-display.xmldisplay.xml: 這個(gè)文件將extext顯示在“ “添加應(yīng)用” ”里顯示名

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論