Liferay Portal 5.2.3 为我们提供了 10 种不同的页面布局,我们可以通过Layout Template选择不同的Layout ,或者 Add Content 中的 Template 参数来指定不同的页面布局,但是,但我们利用 CMS 来定制文章内容的时候,仅有的几种页面布局并不能满足我们的需求,所以我们需要开发能够满足特定需求的页面布局。
--------------------------------------
我们将开发一个指定了7个区域来分别装配portlet实现独特的页面风格。
一、编写模板文件
我们将该页面风格名称定义为1_2_3_2 Columns,在Liferay/html/layouttpl/custom目录下新建1_2_3_2_columns.tpl文件,内容如下:
解释:
文件中
前三行定义的 和
最后三行 是 固定的模板格式,
从第四行开始 就是 我们需要定制的页面风格的 HTML 格式,我们需要将输出 portlet 区域的 HTML 语句用 $processor.processColumn("column-1") 来替换,“ column-1 ”是该区域的名称,并且每个区域的名字不能重复,这样系统在生成模板的时候会自动生成不同的区域来存放我们指定的 portlet 。
-----------------------------
二、编写属性文件
我们需要在 liferay-layout-templates.xml 文件中配置我们自定义的页面布局文件 1_2_3_2_columns.tpl ,为了和系统自带的布局文件区分开,我们创建扩展文件 liferay-layout-templates-ext.xml ,在该文件中指定我们的页面布局文件,当然也可以在 liferay-layout-templates.xml 文件直接增加定义。
liferay-layout-templates-ext.xml :
参数 id 定义该 template 的 ID 号, name 定义该 template 在 Add Content 中显示的名称, template-path 定义该 template 的路径名。
三、定制页面
定制好页面风格后,需要重新启动TOMCAT,登陆系统,进入GUEST频道,点击Layout Template,在Template中将会显示我们自定义的页面布局名称。当然,要看到缩略图,你必须要添加图片进去。(详情在上一篇博文)
注: 不过在我目前的版本中,5.2.3, 如果没有配置 1_2_3_2_columns.wap.tpl文件,tomcat服务器会抛错误。