示例:栏目布局布局示例
占位符定义规则:
阅读约定:在一个符号规则中蓝色显示的部分表示的是固定的且必须的标记,红色显示的部分表示需要提供合适的实际数据
定义原则:
第一类:格式占位符
1包含另一个模板定义:
[格式] @包含@<template>@
[参数说明]
<template>:表示模板的ID或者模板的英文名称
[示例]
示例1:@包含@header@ 表示把英文名称为header的模板包含进来
示例2:@包含@3@ 表示把ID=3的模板包含进来
注意:被包含的模板中也可再次出现包含标记。但请不要让两个模板互相包含
第二类:新闻栏目相关占位符
1新闻标题列表:表示需要摆放一个栏目的新闻标题列表
[格式] @栏目@<subject>@<limit>@[<style>@]
<subject>:栏目的ID或名称,或"url"。当<subject>为"url"时,表示由URL地址上的名为subjectid的参数来指定栏目的ID。(如果不存在名为subjectid的参数,那么就取名为id的参数作栏目的ID)
<limit>: 表示对新闻的发布人做怎么的限定
<style>: 表示样式代码。当等于default时,表示取缺省的样式定义,否则取样式代码指定的样式设置。注意:如果该栏目不存在指定的样式,那么系统会递归在它的上级栏目中寻找样式,如果仍无法找到,那么就使用栏目的缺省样式
下图显示了某个栏目的缺省样式设置:

下图显示了某个栏目的更多的定制样式:

[示例]
示例1:@栏目@党建园地@all@ 表示把栏目名称为“党建园地”的栏目中的新闻列表摆放到指定的位置
示例2:@栏目@3@current@ 表示把栏目id=3 的栏目中的新闻列表摆放到指定的位置,并且仅显示出新闻的发布人与当前登录人是同一个单位的新闻
示例3:@栏目@3@13304830000@ 表示把栏目id=3 的栏目中的新闻列表摆放到指定的位置,并且仅显示出新闻的发布人所在的单位代码为13304830000的新闻
示例4:@栏目@url@all@bbb@ 表示把栏目由地址栏上的参数指定,并且使用定制的样式bbb。比如当在使用$subject.jsp?id=12来访问栏目,并且在英文名为subject的布局模板中使用@栏目@url@all@时,系统自动把参数id=12传递给占位符
2 栏目名称:表示需要把指定栏目的名称放在占位符所在位置
[格式] @栏目名称@<subject>@
[参数说明]
<subject>:栏目的ID或名称,或"url"。当<subject>为"url"时,表示由URL地址上的名为subjectid的参数来指定栏目的ID。(如果不存在名为subjectid的参数,那么就取名为id的参数作栏目的ID)
3 栏目路径:表示需要把指定栏目的整个路径放在占位符所在位置
[格式] @栏目路径@<subject>@
[参数说明]
<subject>:栏目的ID或名称,或"url"。当<subject>为"url"时,表示由URL地址上的名为subjectid的参数来指定栏目的ID。(如果不存在名为subjectid的参数,那么就取名为id的参数作栏目的ID)
4 子栏目树:表示需要把指定栏目的子栏目树放在占位符所在位置
[格式] @子栏目树@<subject>@
[参数说明]
<subject>:栏目的ID或名称,或"url"。当<subject>为"url"时,表示由URL地址上的名为subjectid的参数来指定栏目的ID。(如果不存在名为subjectid的参数,那么就取名为id的参数作栏目的ID)
5 栏目新闻分页条:当某个栏目的新闻较多时,需要显示一个分页导航条,此占位符表示需要把指定栏目的新闻分页导航条放在占位符所在位置
[格式] @栏目新闻分页条@<subject>@<limit>@[<style>@]
[参数说明] 参看新闻标题列表参数说明
[注意]当使用@栏目...占位符和栏目新闻分页条协同起来为栏目内的新闻进行显示和导航时,注意它们的参数应该保持完全一致,否则可能会出来分页与新闻列表不配合的情况。
6 栏目内新闻搜索:此占位符表示需要把一个搜索功能放在占位符所在位置,此搜索功能将提供在指定栏目中进行新闻搜索,而不是搜索全部栏目的新闻
[格式] @栏目内新闻搜索@
[参数说明]无
7 栏目定制版面:此占位符表示需要把标题为“栏目<id>定制版面”的新闻的内容放在占位符所在位置 。其中 <id> 由系统从URL中的名为subjectid的参数中取得。比如当需要为ID为3的栏目定制版面时,可以发布一个标题为"栏目3定制版面"的新闻。并在布局模板中使用本占位符来引用这个新闻的内容
[格式] @栏目定制版面@
[参数说明]无
第三类:新闻相关占位符
1 新闻标题:表示需要摆放当前正在查看的新闻的标题
[格式] @新闻标题@
[参数说明] 无参数
注意:此占位符必须与 @新闻内容@ 结合使用,仅使用本占位符,而不使用 @新闻内容@时将无法正确显示
2新闻内容:表示需要摆放当前正在查看的新闻的内容
[格式] @新闻内容@[<id>@]
[理解]当使用本占位符时,需要在url地址上给一些参数据来表明是显示哪个栏目中的哪个新闻。比如这样的一个地址: viewnews.jsp?newsid=12&subjectid=3 表示显示栏目ID=3的新闻ID=12的内容 。 直接使用@新闻内容@占位符时,系统将从URL地址中的newsid取新闻的ID,从subjectid参数中取栏目的ID。如果直接提供了一个ID,那么表示新闻的ID直接使用该 ID,如:@新闻内容@12@表示 显示新闻ID=12的内容。当提供一个名为top的参数时,表示显示指定栏目(栏目从URL地址的subjectid中取)中的置顶的,或最近的一条新闻。
[注意]一个模板中可以有一个或多个本占位符,当出现多个本占位符时,@新闻属性@,@新闻评论@,@新闻标题@占位符可能无法显示正确的内容
[参数说明] 可选参数
<id> 可以是指定的一个新闻的ID, 也可以是top
[示例]
例1: @新闻内容@ 表示显示新闻的内容,新闻由地址上的newsid来定位
例2: @新闻内容@top@ 表示显示栏目的置顶的或最近的一条新闻的内容,栏目由地址上的subjectid来定位
3 新闻属性:表示需要摆放当前正在查看的新闻的起草人,发布时间,阅读次数,关键字等信息
[格式] @新闻属性@
[参数说明] 无参数
注意:此占位符必须与 @新闻内容@ 结合使用,仅使用本占位符,而不使用 @新闻内容@时将无法正确显示
4 新闻评论:表示需要摆放当前正在查看的新闻的评论内容
[格式] @新闻评论@
[参数说明]
注意:此占位符必须与 @新闻内容@ 结合使用,仅使用本占位符,而不使用 @新闻内容@时将无法正确显示
5 新闻评论重命名:表示把新闻评论改成其它的名称
[格式] @新闻评论重命名@<newtip>@
[参数说明]
<newtip> 表示把“评论”替换成指定的提示
[示例]
例:@新闻评论重命名@祝福@ 表示把“评论”二字替换成“祝福”
注意:此占位符必须与 @新闻内容@ 结合使用,仅使用本占位符,而不使用 @新闻内容@时将无法正确显示
6 新闻内容做图形分析:表示需要摆放对当前正在查看的新闻的内容做图形分析的结果
[格式] @图形分析@宽度@高度@[<id>@]
[参数说明]
<宽度>:表示图形分析结果的显示宽度
<高度>:表示图形分析结果的显示高度
<id> 可选参数。
* 当<id>是一个整数时,认为它就是指定的新闻ID
* 如果<id>=="" 那么认为是从URL参数newsid中取
* 如果 <id>=top 那么认为是URL中subjectid指定栏目中的置顶可最新一条新闻
* 如果<id> 以 topof开头, 那么认为是指定栏目中的置顶或最新一条新闻
* 否则,认为是关键字=<id>的新闻
[示例]
例1: @图形分析@200@300@ 表示显示当前正在查看的新闻的内容的图形分析结果
例2: @图形分析@200@300@topof数据快讯@ 表示显示“数据快讯”栏目的置顶的或最近的一条新闻的内容的图形分析结果,
7 新闻内图片的查看:如果新闻中有图片,单击图片将在新窗口中打开图片以查看原始尺寸大小的图片。使用此占位符来提供上述功能。
[格式] @点击图片查看@
[参数说明] 无参数
8 新闻维护工具栏:表示需要摆放一些维护操作按钮(如下图),用来对当前正在查看的新闻进行管理
![]()
[格式] @新闻维护工具栏@
[参数说明] 无参数
注意:此占位符必须与 @新闻内容@ 结合使用,仅使用本占位符,而不使用 @新闻内容@时将无法正确显示
第四类:特效支持
1模拟弹出窗口:当发布的新闻允许弹出显示时,增加此占位符表示在页面中需要显示这些模拟的弹出窗口
[格式] @新闻弹出显示@[<subject>@]
[参数说明]
<subject>:栏目的ID或名称,或"url"。当<subject>为"url"时,表示由URL地址上的名为subjectid的参数来指定栏目的ID。(如果不存在名为subjectid的参数,那么就取名为id的参数作栏目的ID)
此参数是可选的,当不提供此参数时,表示所有栏目中的的弹出新闻
2飘动窗口:当发布的新闻允许飘动显示时,增加此占位符表示在页面中需要显示这些飘动的新闻
[格式] @新闻飘动显示@[<subject>@]
[参数说明]
<subject>:栏目的ID或名称,或"url"。当<subject>为"url"时,表示由URL地址上的名为subjectid的参数来指定栏目的ID。(如果不存在名为subjectid的参数,那么就取名为id的参数作栏目的ID)
此参数是可选的,当不提供此参数时,表示所有栏目中的的飘动新闻
3对联样式的广告:在页面的左右两侧显示对联样式的广告展示
[格式] @对联@
[参数说明] :无
第五类:系统相关
1用户登录:表示在此占位符位置放一个登录界面
[格式] @用户登录@<dir>@
[参数说明]
<dir> 表示登录界面的摆放风格 可以是:
[示例]
例1:@用户登录@单行@
例2:@用户登录@多行@
2 今日更新:表示需要把所有今天发布的,今天有修改的,或者持续显示到今天的新闻列表放在占位符所在位置,今日更新列表将滚动显示
[格式] @今日更新@<显示高度>@
[参数说明]
<显示高度>:列表滚动显示的高度
第六类:排行榜
1栏目点击率排行榜:表示在此占位符位置放一个栏目点击率排行榜
[格式] @栏目点击率排行榜@<row>@<timeout>@
[参数说明]
<row> 表示该排行榜需要列出几个栏目
<timeout> 表示该排行榜在多少分钟后重新统计。出于性能的考虑,并不需要在每次查看该排行榜时,都需要实时统计,当排行榜统计出来后,可以假定在一段时间内,其变化是不大的,因此在这一段时间内,不需要再统计,当超出一定的时间后,再重新统计。 timeout是以分钟为计量单位的,当=0时表示不缓存,在每次查看时都实时统计
[示例]
例1:@用户登录@单行@
常用链接地址:
当需要链接到一个栏目中去时,链接地址是 subject.jsp?id=<栏目的ID>
当需要链接到首页时,链接地址是 index.jsp
当需要链接到发布新闻时,链接地址是 editnews.jsp,当加上参数?subjectid=123 时表示在指定的栏目中发稿
当需要链接到新闻查询,审核,置顶,锁定等操作时,链接地址是 news_search.jsp
当需要链接到一个布局模板时,链接地址是 $<模板的英文名称>.jsp 。示例:一个模板的英文名称是head 那么这个模板对应的地址是$head.jsp