posts - 19,  comments - 123,  trackbacks - 0
          ?????? Liferay Portal CMS(Content Manage System) 提供了兩大功能:文檔管理和文章發(fā)布。文檔管理包括文檔庫和圖片集兩個 portlets ,能夠提供對 Microsoft Office 文檔、 PDFs 、文本文件和圖片的管理;文章發(fā)布功能依靠 Liferay Portal 中的 Journal portlet 完成,它的特性是能夠?qū)?shù)據(jù)( data entry )和版面設(shè)計( Layout Design )很輕易的分開,這就使得 content 能夠復(fù)合一致的“ look and feel ”,另外, Journal portlet 提供了 content 的版本跟蹤和發(fā)布流程的功能。
          ???

          Liferay PortalCMS功能是通過Journal Portlet實現(xiàn)的,在介紹怎樣使用Journal Portlet之前,有必要理解structures、templatesarticles的概念,它們是Journal portlet功能的基礎(chǔ)。

          l???????? Structures:定于了content的類型和數(shù)量,content的類型包括text、text area、imagesselection lists

          l???????? Templates:確定content怎樣排列或擺放

          l???????? Articles:確定每個content包含的實際的textimages

          ??
          ??? 我們以下圖為例定義一個
          content,分為三個步驟:

          1.JPG

          第一步、創(chuàng)建Structure,包含一下元素:一個text元素名為“headline”(對應(yīng)圖片1區(qū)域)、三個text area元素為名稱分別為“body-text”(對應(yīng)4區(qū)域)“caption-1”(對應(yīng)2區(qū)域)“caption-2”(對應(yīng)6區(qū)域)、兩個image元素名稱分別為“image-1”(對應(yīng)3區(qū)域)和“image-2”(對應(yīng)5區(qū)域)

          添加完這些元素后的界面如下:
          2.JPG

          點擊Launch Editor按鈕,可以看到XML定義,也可以在此增刪或修改元素及類型,內(nèi)容如下:

          <root>
          ??
          <dynamic-element?name='headline'?type='text'></dynamic-element>
          ??
          <dynamic-element?name='body-text'?type='text_area'></dynamic-element>
          ??
          <dynamic-element?name='caption-1'?type='text_area'></dynamic-element>
          ??
          <dynamic-element?name='caption-2'?type='text_area'></dynamic-element>
          ??
          <dynamic-element?name='image-1'?type='image'></dynamic-element>
          ??
          <dynamic-element?name='image-2'?type='image'></dynamic-element>
          </root>

          第二步、創(chuàng)建 Template ,添入 ID 、 Name 、 Description 信息后,在 Structure 一欄選擇上一步創(chuàng)建的 Structure (這里為 test
          3.JPG

          然后點擊 Launch Editor 按鈕,打開 Template 編輯窗口,按照所需要的格式定義 Template ,如下:

          <? xml?version = " 1.0 " ?>

          < xsl:stylesheet?xmlns:xsl = " http://www.w3.org/1999/XSL/Transform " ?version = " 1.0 " > ??
          ??
          < xsl:output?method = " html " ?omit - xml - declaration = " yes " /> ??
          ??
          < xsl:template?match = " / " > ?
          ????
          < table?cellpadding = " 0 " ?cellspacing = " 0 " ?border = " 0 " ?width = " 100% " > ?
          ??????
          < tr > ?
          ????????
          < td?colspan = " 2 " >
          ??????????
          < xsl:value - of
          ?disable
          - output - escaping = " yes " ?select = " root/dynamic-element[@name='headline']/dynamic-content " />
          ????????
          </ td >
          ??????
          </ tr >
          ??????
          < tr >
          ????????
          < td >
          ??????????
          < img > ?
          ????????????
          < xsl:attribute?name = " src " > ?
          ??????????????
          < xsl:value - of?
          disable
          - output - escaping = " yes " ?select = " root/dynamic-element[@name='image-1']/dynamic-content " /> ?
          ????????????
          </ xsl:attribute > ?
          ??????????
          </ img >
          ????????
          </ td >
          ????????
          < td >
          ??????????
          < xsl:value - of?
          disable
          - output - escaping = " yes " ?select = " root/dynamic-element[@name='caption-1']/dynamic-content " />
          ????????
          </ td >
          ??????
          </ tr >
          ??????
          < tr >
          ????????
          < td?colspan = " 2 " >
          ??????????
          < xsl:value - of?
          disable
          - output - escaping = " yes " ?select = " root/dynamic-element[@name='body-text']/dynamic-content " />
          ????????
          </ td >
          ??????
          </ tr >
          ??????
          < tr >
          ????????
          < td >
          ??????????
          < xsl:value - of?
          disable
          - output - escaping = " yes " ?select = " root/dynamic-element[@name='caption-2']/dynamic-content " />
          ????????
          </ td >
          ????????
          < td >
          ??????????
          < img > ?
          ????????????
          < xsl:attribute?name = " src " > ?
          ??????????????
          < xsl:value - of?
          disable
          - output - escaping = " yes " ?select = " root/dynamic-element[@name='image-2']/dynamic-content " /> ?
          ????????????
          </ xsl:attribute > ?
          ??????????
          </ img >
          ????????
          </ td >
          ??????
          </ tr >
          ????
          </ table > ?
          ??
          </ xsl:template > ?
          </ xsl:stylesheet >

          下面對該文件進行說明:

          1 、這里的 @name=’ 名稱 必須要和第一步中創(chuàng)建 Structure 中的元素名稱一致,頁面格式根據(jù)需求使用 HTML 語言定義即可。

          2 、對 text text area 類型的元素輸出時的格式如下:

          <xsl:value-of

          disable-output-escaping="yes" select="root/dynamic-element[@name='caption-2']/dynamic-content"/>

          1、? image 類型的元素輸出時的格式如下:

          <img>

          ? <xsl:attribute name="src">

          ??? <xsl:value-of

          disable-output-escaping="yes" select="root/dynamic-element[@name='image-2']/dynamic-content"/>

          ? </xsl:attribute>

          </img>

          第三步、創(chuàng)建 Article ,添寫基本信息后,在 Structure 一欄選擇 test ,對應(yīng)的 Template 一欄也選擇 test 即可,然后在對應(yīng)的元素域里添入合適的文本或者圖片,點擊預(yù)覽即可以看到如下界面,確定無問題后,點擊保存或者保存并發(fā)布按鈕即可完成 content 的定制。
          4.JPG

          通過以上三個步驟,我們就實現(xiàn)了定制content的功能。使用Journal Portlet,我們可以定制任何不同風(fēng)格的content來展示必要的信息。

          posted on 2006-08-04 14:15 韓淚 閱讀(6087) 評論(5)  編輯  收藏 所屬分類: Liferay學(xué)習(xí)


          FeedBack:
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(二):使用CMS
          2006-08-18 14:05 | chu xue zhe
          謝謝摟主,正在試驗
            回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(二):使用CMS
          2006-08-21 10:24 | Spike Wang
          摟主使用過 Velocity 進行模版定義么?如果使用過和XSL 比較那個比較方便,謝謝。


            回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(二):使用CMS
          2006-08-21 13:36 | 韓淚
          @Spike Wang
          我沒有使用過velocity定義模板,甚至我不知道liferay是不是支持使用velocity定義template,只是liferay中可以使用velocity定義theme,如果哪位兄弟對這方面有研究,還希望能分享經(jīng)驗  回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(二):使用CMS
          2008-01-21 15:48 | itfans
          您好,我們是一家從事java培訓(xùn)的公司,看了您關(guān)于portal的文章,很感興趣,想請您到我們的課堂上講一堂課,帶著學(xué)生做做portal的實例,您如果有意向,希望您加我QQ:406997257,注明“portal”,介時我們再聯(lián)系!  回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(二):使用CMS[未登錄]
          2013-03-11 09:20 | jane
          我急需您的幫助,能加我Q嗎??  回復(fù)  更多評論
            

          虛其心,可解天下之問; 專其心,可治天下之學(xué); 靜其心,可悟天下之理; 恒其心,可成天下之業(yè)。

          常用鏈接

          留言簿(12)

          隨筆分類(19)

          隨筆檔案(19)

          搜索

          •  

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 柳河县| 渑池县| 蒲城县| 金堂县| 永州市| 西青区| 资溪县| 柳州市| 嘉祥县| 类乌齐县| 巴塘县| 志丹县| 乐陵市| 石柱| 万源市| 利津县| 丹东市| 益阳市| 闸北区| 罗甸县| 深州市| 拉孜县| 和平区| 湘阴县| 乾安县| 兴宁市| 小金县| 张家口市| 阿拉尔市| 宝鸡市| 乌审旗| 南召县| 金乡县| 浮梁县| 沅江市| 金湖县| 东丰县| 尚志市| 盐津县| 噶尔县| 弋阳县|