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来展示必要的信息。


只有注册用户登录后才能发表评论。


网站导航: