posts - 19,  comments - 123,  trackbacks - 0
          ?????? Liferay Portal 4.0 為我們提供了幾種不同的頁(yè)面布局,我們可以通過(guò) Add Content 中的 Template 參數(shù)來(lái)指定不同的頁(yè)面布局,但是,但我們利用 CMS 來(lái)定制文章內(nèi)容的時(shí)候,僅有的幾種頁(yè)面布局并不能滿足我們的需求,所以我們需要開(kāi)發(fā)能夠滿足特定需求的頁(yè)面布局。
          ??? 我們將開(kāi)發(fā)一個(gè)具有下圖風(fēng)格的頁(yè)面布局,該布局中我們指定了7個(gè)區(qū)域來(lái)分別裝配portlet實(shí)現(xiàn)獨(dú)特的頁(yè)面風(fēng)格。
          1.JPG
          一、編寫模板文件
          ??? 我們將該頁(yè)面風(fēng)格名稱定義為1_2_3_2 Columns,在Liferay/html/layouttpl/custom目錄下新建1_2_3_2_columns.tpl文件,內(nèi)容如下:
          <div?id="layout-content-outer-decoration">
          <div?id="layout-content-inner-decoration">
          ????
          <div?id="layout-content-container">
          ??????
          <table?border="0"?cellpadding="0"?cellspacing="0"?width="100%">
          ????????
          <tr>
          ??????????
          <td?colspan="3"?valign="top">
          ????????????$processor.processColumn(
          "column-1")
          ??????????
          </td>
          ????????
          </tr>
          ????????
          <tr>
          ??????????
          <td?width="79%"?valign="top">
          ??????????????
          <table?border="0"?cellpadding="0"?cellspacing="0"?width="100%">
          ????????????????
          <tr>
          ????????????????
          <td?width="26%"?valign="top">
          ??????????????????$processor.processColumn(
          "column-2")
          ????????????????
          </td>
          <td?class="layout-column-spacer"?width="1%">
          ????????????????????
          <div>&nbsp;</div>
          ??????????????????
          </td>
          ????????????????
          <td?width="26%"?valign="top">
          ??????????????????$processor.processColumn(
          "column-3")
          ????????????????
          </td>
          ??????????????????
          <td?class="layout-column-spacer"?width="1%">
          ????????????????????
          <div>&nbsp;</div>
          ??????????????????
          </td>
          ????????????????
          <td?width="26%"?valign="top">
          ??????????????????$processor.processColumn(
          "column-4")
          ????????????????
          </td>
          ????????????????
          </tr>
          ??????????????
          </table>
          ????????????
          </td>
          ??????????
          <td?class="layout-column-spacer"?width="1%">
          ????????????
          <div>&nbsp;</div>
          ??????????
          </td>
          ??????????
          <td?width="20%"?rowspan="2"?valign="top">
          ????????????$processor.processColumn(
          "column-5")
          ??????????
          </td>
          ????????
          </tr>
          ????????
          <tr>
          ??????????
          <td?colspan="2">
          ????????????
          <table?border="0"?cellpadding="0"?cellspacing="0"?width="100%">
          ??????????????
          <tr>
          ????????????????
          <td?width="50%"?valign="top">
          ??????????????????$processor.processColumn(
          "column-6")
          ????????????????
          </td>
          ????????????????
          <td?width="50%"?valign="top">
          ??????????????????$processor.processColumn(
          "column-7")
          ????????????????
          </td>
          ??????????????
          </tr>
          ????????????
          </table>
          ????????????
          </td>
          ????????
          </tr>
          ??????
          </table>
          ????
          </div>
          </div>
          </div>

          ??? 文件中前三行定義的 <div> 和最后三行 </div> 是固定的模板格式,從第四行開(kāi)始就是我們需要定制的頁(yè)面風(fēng)格的 HTML 格式,我們需要將輸出 portlet 區(qū)域的 HTML 語(yǔ)句用 $processor.processColumn("column-1") 來(lái)替換,“ column-1 ”是該區(qū)域的名稱,并且每個(gè)區(qū)域的名字不能重復(fù),這樣系統(tǒng)在生成模板的時(shí)候會(huì)自動(dòng)生成不同的區(qū)域來(lái)存放我們指定的 portlet

          二、編寫屬性文件

          ??? 我們需要在 liferay-layout-templates.xml 文件中配置我們自定義的頁(yè)面布局文件 1_2_3_2_columns.tpl ,為了和系統(tǒng)自帶的布局文件區(qū)分開(kāi),我們創(chuàng)建擴(kuò)展文件 liferay-layout-templates-ext.xml ,在該文件中指定我們的頁(yè)面布局文件,當(dāng)然也可以在 liferay-layout-templates.xml 文件直接增加定義。

          ?

          liferay-layout-templates-ext.xml

          <? xml?version = " 1.0 " ?>
          <! DOCTYPE?layout - templates?PUBLIC? " -//Liferay//DTD?Layout?Templates?4.0.0//EN " ? " http://www.liferay.com/dtd/liferay-layout-templates_4_0_0.dtd " >

          < layout - templates >
          ????
          < custom >
          ????????
          < layout - template?id = " 1_2_3_2_columns " ?name = " 1-2-3-2?Columns " >
          ????????????
          < template - path >/ html / layouttpl / custom / 1_2_3_2_columns.tpl </ template - path >
          ????????
          </ layout - template >
          ????
          </ custom >
          </ layout - templates >

          參數(shù) id 定義該 template ID 號(hào), name 定義該 template Add Content 中顯示的名稱, template-path 定義該 template 的路徑名。


          三、定制頁(yè)面
          ????定制好頁(yè)面風(fēng)格后,需要重新啟動(dòng)TOMCAT,登陸系統(tǒng),進(jìn)入GUEST頻道,點(diǎn)擊Add Content ,在Template中將會(huì)顯示我們自定義的頁(yè)面布局名稱1-2-3-2 Columns,選擇該Template,然后在頁(yè)面中添加Journal Content,按照我們自定義的布局將portlet拖拉到合適的位置,再為每個(gè)Journal Content指定Article,最后就完成了各種風(fēng)格頁(yè)面的定制過(guò)程。使用這個(gè)的方法,我們可以定制各種滿足不同需求的頁(yè)面。

          posted on 2006-08-04 18:02 韓淚 閱讀(4385) 評(píng)論(10)  編輯  收藏 所屬分類: Liferay學(xué)習(xí)


          FeedBack:
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2006-08-07 13:49 | robertpi
          不錯(cuò),不錯(cuò),希望繼續(xù)寫下去.  回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2006-08-07 17:16 | 韓淚
          非常感謝您的支持,我一定堅(jiān)持下去  回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2006-08-17 13:47 | trevol
          樓主加油!  回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2006-08-18 13:38 | chu xue zhe
          謝謝摟主,但是我的這個(gè)上邊為什么沒(méi)有配置自定義模板屬性的文件呢?怎樣找到???  回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2006-08-18 13:40 | chu xue zhe
          在哪里找“我們需要在 liferay-layout-templates.xml 文件中配置我們自定義的頁(yè)面布局文件 1_2_3_2_columns.tpl ”?  回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2006-08-18 14:40 | 韓淚
          @chu xue zhe
          頁(yè)面布局文件 1_2_3_2_columns.tpl 這個(gè)文件是我們自己定義的,用來(lái)定義你自己的布局風(fēng)格  回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2006-08-18 15:21 | chu xue zhe
          終于找到了,摟主理解錯(cuò)我的一次了。我的版本跟你的不一樣,這個(gè)是剛下載的,4.0版本。在C:\liferay-portal-tomcat\webapps\ROOT\WEB-INF里面。謝謝!  回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2006-08-21 10:21 | Spike Wang
          謝謝希望相互交流

          我也是liferay 愛(ài)好者,希望相互勉勵(lì)。

          我的MSN : hk2000c@hotmail.com

            回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template
          2007-04-09 17:33 | ericLiu
          謝謝~你的文章寫的很詳細(xì)~~,很感謝你的共享  回復(fù)  更多評(píng)論
            
          # re: 【原創(chuàng)】Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template[未登錄](méi)
          2007-09-29 16:38 | Bruce
          我想問(wèn)一下,為什么我的按上面的操作,布局6和7沒(méi)有出現(xiàn)?  回復(fù)  更多評(píng)論
            

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

          常用鏈接

          留言簿(12)

          隨筆分類(19)

          隨筆檔案(19)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          主站蜘蛛池模板: 香格里拉县| 信宜市| 平阳县| 枣庄市| 洪洞县| 新沂市| 寿光市| 兴山县| 武穴市| 当阳市| 东丰县| 灌南县| 庄河市| 博客| 成都市| 富顺县| 塘沽区| 南郑县| 临海市| 陵川县| 新丰县| 平阴县| 托里县| 安丘市| 双桥区| 黄浦区| 搜索| 扎鲁特旗| 施甸县| 高陵县| 吐鲁番市| 舒城县| 大足县| 双柏县| 桃园县| 漾濞| 盘锦市| 邯郸县| 紫阳县| 当阳市| 南靖县|