在前面的文章中,我们已经知道了如何创建含有“head”区和“foot”区的JSP模板,现在我们将扩展这个模板,为它增加多个可编辑的页面元素。
首先,我们要在模板文件的HTML head 标签中增加“<cms:editable> ”标签,并且在页面元素中增加“editable”的属性,代码如下:
< cms:template element = " head " >
< html >
< head >
< title >
< cms:property name = " Title " /></ title >
< meta HTTP - EQUIV = " CONTENT-TYPE " CONTENT = " text/html; CHARSET=<cms:property name= " content - encoding " default= " UTF - 8 " /> " />
< link rel = " stylesheet " type = " text/css " href = " <cms:link>../resources/myStyle.css</cms:link> " />
<cms:editable />
< body >
< h2 > 第一个简单模板的head </ h2 >
</ cms:template >
< cms:template element = " body " >
< cms:include element = " body " editable="true" />
</ cms:template >
< cms:template element = " foot " >
< h2 > 第一个简单模板的foot </ h2 >
</ body >
</ html >
</ cms:template >
用此模板生成页面,效果如下图,“body”元素部分现在已经是一个可直接编辑的区域,在此编辑区的右侧,出现了一个“编辑”按钮,点击“编辑”按钮,直接进入编辑器,即可对“body”元素的内容进行编辑,不必再像以前一样要在工作区中,找到资源,点击资源,再弹出菜单中选择“编辑页面”来进行编辑了,相比之下是不是方便了许多。
下面又为此模板进行了扩展,在模板中增加多个元素,代码如下:
< cms:template element = " head " >
< html >
< head >
< title >
< cms:property name = " Title " /></ title >
< meta HTTP - EQUIV = " CONTENT-TYPE " CONTENT = " text/html; CHARSET=<cms:property name= " content - encoding " default= " UTF - 8 " /> " />
< link rel = " stylesheet " type = " text/css " href = " <cms:link>../resources/myStyle.css</cms:link> " />
<cms:editable />
< body >
<h2>第一个简单模板的head</h2>
</ cms:template >
< cms:template element = " body " >
< cms:include element = " body " editable="true" />
<h2>这是第二个页面元素</h2>
<cms:include element="body2" editable= "true"/>
</cms:template>
</ cms:template >
< cms:template element = " foot " >
< h2 > 第一个简单模板的foot </ h2 >
</ body >
</ html >
</ cms:template >
接下来,我们还要对模板文件进行一下设置,让它来“告诉”编辑器,这个模板可以显示两个页面元素,修改模板文件的“template-elements ”属性,设置其值为“body*|元素一,body2*|元素二”,元素名称以“*”结尾,而在“|”之后是在编辑器中显示的元素的名称,这样编辑器就知道了用此模板生成的页面,含有两个可编辑的元素“元素一”和“元素二”,浏览效果如下图:
用此模板生成页面,浏览效果如下,可以看到,已经包含有两个可编辑元素了。
至此,我们已经知道了如何创建含有多个可编辑元素的模板,我们可以把它灵活的应用到项目中,这种“直接编辑”的方式,不仅操作起来直观、简便,相信我们的客户也会非常喜欢它。
(谢谢关注OpenCms——中文资源第一博客,欢迎与作者直接交流,共同进步。MSN:qianxuncms@hotmail.com,QQ:9165456)