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

          Liferay PortalCMS功能是通過Journal Portlet實現的,在介紹怎樣使用Journal Portlet之前,有必要理解structurestemplatesarticles的概念,它們是Journal portlet功能的基礎。

          l???????? Structures:定于了content的類型和數量,content的類型包括texttext areaimagesselection lists

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

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

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

          1.JPG

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

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

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

          <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>

          第二步、創建Template,添入IDNameDescription信息后,在Structure一欄選擇上一步創建的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=’名稱必須要和第一步中創建Structure中的元素名稱一致,頁面格式根據需求使用HTML語言定義即可。

          2、對texttext 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>

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

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

          主站蜘蛛池模板: 遵义市| 崇信县| 乌兰浩特市| 三都| 青神县| 麻城市| 天峻县| 杭锦后旗| 梅州市| 东兴市| 尼木县| 仁布县| 南木林县| 庆城县| 玉屏| 南投县| 商南县| 罗山县| 常山县| 大石桥市| 灵寿县| 象州县| 辽阳县| 阿拉尔市| 云安县| 澎湖县| 建阳市| 秦皇岛市| 库车县| 平阳县| 班戈县| 吉林市| 连城县| 梓潼县| 河西区| 洮南市| 义乌市| 虹口区| 崇明县| 库伦旗| 莱西市|