Liferay Portal 技术理解之 CMS Print E-mail
User Rating: / 2
PoorBest 
Portal门户 - Liferay相关
Tuesday, 01 April 2008 06:31
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来展示必要的信息。

 
Banner

本站文章均来自网络为方便大家阅读之用,如有侵权,请联系我们,我们收到后立即删除,谢谢!另文章言论不代表本站观点。

 
上海定制公寓:瑞虹新城3期
瑞安房地产推出上海内环住宅瑞虹新城3期,该楼盘首推“定制公寓”概念,大胆借鉴国际前沿的设计理念,在上海北外滩打造精致优雅的国际现代化上海虹口高品质住宅小区。

娱乐竞拍:噢耶竞拍网
噢耶竞拍网提供低价竞拍、抢拍、竞猜,为您提供低价购物、娱乐购物以及娱乐竞猜,噢耶团队为您提供竭诚服务,开心又刺激的娱乐购物新体验就在噢耶竞拍网

zhishi123.com.cn广告