《帝国网站管理系统》一招鲜吃天遍天系列教程之 万能标签使用
 点击进入论坛讨论

 《帝国网站管理系统》英文名“EmpireCMS”,简称帝国CMS。 本教程适用于帝国CMS所有版本。
 面向用户  网站部署:
·EmpireCMS零基础的用户;
·网站栏目与数据:调用安装帝国CMS时默认的内置初始数据。
·会使用Dreamweaver设计简单表格式模板的用户 ·页面调用:用ecmsinfo万能标签调用各新闻栏目的数据。
·能看懂基本HTML的用户。 ·系统模型:使用内置的新闻系统模型。
 准备工具:·Dreamweaver(网站模板制作工具)
 实例效果图:
 网页制作流程:
 1、制作显示效果页面;
 2、修改效果页面加上万能标签ecmsinfo;
 3、将已加上万能标签的HTML效果页面代码复制到后台更新;
 4、查看生成后的页面效果。
 
 1、制作显示效果页面
  先用Dreamweaver做出网页效果,如下为我们预先做的普通HTML页面效果(图1):
 效果页面HTML代码如下(HTML代码1):
 2、修改效果页面加上万能标签ecmsinfo:
 我们来分析下上面做好的HTML网页调用样式,如下图(图2):
 上图我们分析了该网页共有两种调用显示样式:文字调用样式、图片调用样式:
 文字调用样式:一行一列,显示内容包括"标题"(标题长度截取36个字符),"标题链接","发布时间"格式;
  应用于国内、国际、娱乐、体育新闻4个栏目,每个栏目显示最新3条信息。
 图片调用样式:一行一列,显示内容包括"标题","标题图片"、"标题链接"格式;
  调用新闻数据表内所有栏目带标题图片的信息,共显示4条最新信息。
 因此我们需要为上述每个类别的文字(图片)调用样式中添加万能标签,调用并显示该样式。
 用万能标签替换HTML效果页面调用内容:
 万能标签语法:(详细语法说明可以点击这里查看)
 [ecmsinfo]栏目ID,显示条数,标题截取数,是否显示栏目名,操作类型,标签模板ID,只显示有标题图片[/ecmsinfo]
 ecmsinfo标签与其它信息调用标签唯一不同的是:显示样式由标签模板决定。
 万能标签参数说明
 显示条数表示调用信息的显示条数,也表示调用内容显示样式的循环次数。
 "操作类型"决定"栏目ID"值,即标签参数中的"栏目ID/专题ID/SQL语句/表"参数必须与操作类型一一相对应. 操作类型查询
 首先确定信息的调用范围(调用的是栏目?专题?数据表?默认表?标题分类还是SQL的信息),再确定操作类型和栏目ID值,例如:
 调用某栏目的最新信息 操作类型按栏目调用 值为0, 栏目ID=调用栏目的ID值(在帝国CMS后台查询该栏目ID值)。
 调用默认表的最新信息
操作类型按默认表调用 值为3, 栏目ID=0或者'' (在CMS后台设置某数据表为系统默认表)。
假如新闻表为系统的默认表,则调用新闻表的最新信息时:
栏目ID=0,操作类型=3。或者栏目ID='',操作类型=3。
 调用某专题的最新信息
操作类型按专题调用 值为6, 栏目ID=调用专题的ID值,(在帝国CMS后台查询该专题ID值)。
 调用某数据表的最新信息
操作类型按数据表调用 值为18, 栏目ID='数据表名'。
例如调用新闻表的最新信息时(这里新闻表不一定是默认表)。
栏目ID='news',操作类型=18
 调用某标题分类的最新信息
操作类型按标题分类调用 值为25, 栏目ID=标题分类ID,(在帝国CMS后台查询该标题分类ID值)
 按SQL调用查询最新信息
操作类型按SQL调用 值为24, 栏目ID="sql语句"。数据表前缀可用[!db.pre!]表示。
 调用当前栏目(或当前专题)的信息时,栏目ID(或专题ID)='selfinfo',
 例如调用当前栏目(新闻栏目)的最新4条信息,则万能标签语法为:[ecmsinfo]'selfinfo',4,36,0,0,模板ID,0[/ecmsinfo]
 调用多个栏目(或专题)的信息时,栏目ID(或专题ID)之间可以用,逗号格开并引用''单引号;
 例如调用两个栏目(栏目ID值为1和2)的最新3信息,则万能标签语法为:[ecmsinfo]'1,2',3,36,0,0,模板ID,0[/ecmsinfo]
 用万能标签替换HTML调用内容的分析过程图
使用万能标签替换调用内容,具体分析过程如下:
第一步 分析万能标签:分析万能标签的参数。
万能标签语法
[ecmsinfo]栏目ID,显示条数,标题截取数,是否显示栏目名,操作类型,标签模板ID,只显示有标题图片[/ecmsinfo]
分析万能标签语法后我们知道,只有标签模板ID参数是未知值。接下来就要分析标签模板ID参数:
标签模板ID:
即标签模板的ID值,是我们在帝国CMS后台增加标签模板后,由CMS系统自动分配的。一个标签模板对应一个ID。
所以,万能标签的确定过程就是标签模板的确定过程。 因此,要得到标签模板ID值,就要先登陆帝国CMS后台增加标签模板
第二步 增加标签模板:
标签模板
标签模板语法:
列表头
列表内容
列表尾
语法说明:
列表头列表尾用[!--empirenews.listtemp--]表示,是固定的,代表循环的开始和结束。
列表内容就是列表头和列表尾之间的代码,表示每次循环的内容。
其中循环的信息内容用列表内容变量<!--list.var*-->表示。
根据①②的分析,我们知道万能标签是由标签模板决定的;即
使用万能标签所调用内容的最终显示样式,取决于标签模板是如何设置的。
因此,将调用内容用万能标签表示,就要先确定标签模板示。
而“增加标签模板”页面的未知选项包括“页面模板内容”和“列表内容模板”,下面我们将逐一分析:
·确定万能标签的调用内容
调用内容由循环内容和循环内容的显示样式两部分组成。
循环内容:在调用内容中,找出具有相同循环规律的调用内容即为循环内容,循环规律可以是一行一列、一行两列等代码。
显示样式:在调用内容中,循环内容以外的部分,就是循环内容的显示样式。
信息内容:循环内容中,具有相同格式的信息显示内容即为信息内容,包括标题、标题链接、发布时间等格式。
·确定页面模板内容

首先,保持显示样式不变,
其次,只保留一条循环内容,删除其他相同的循环内容,
然后,在循环内容的顶部和底部,分别加上列表头[!--empirenews.listtemp--]和列表尾[!--empirenews.listtemp--]

将循环内容中的信息内容用列表内容变量<!--list.var*-->替换,得到列表内容。
有几条信息内容,就需使用几个<!--list.var*-->,这里*代表1或2、3....
确定显示样式、列表头、列表内容、列表尾后,页面模板内容就确定了。
页面模板内容支持的变量:
栏目名称:[!--the.classname--];栏目ID:[!--the.classid--];栏目链接:[!--the.classurl--]
·确定列表内容模板:即页面模板内容中<!--list.var*-->表示的信息内容代码
将⑤中被<!--list.var*-->替代的信息内容,用列表内容模板支持的变量表示,得到列表内容模板。
列表内容模板(list.var)支持的变量:点击这里查看
标签模板增加完毕。
第三步 确定万能标签:
确定"标签模板ID"值:标签模板增加完毕后,返回"管理标签模板"页面,得到由CMS系统自动分配、新增加的标签模板ID值.
将"标签模板ID"值写入"万能标签",至此,万能标签语法确定完毕。
·最后用万能标签替换HTML效果页面的调用内容
【例1】 使用万能标签调用“国内新闻”栏目的最新3条信息
 第一步,分析万能标签
 ::万能标签语法
 按照文字调用样式的设定:调用"国内新闻"栏目的最新3条信息,标题长度截取36个字符,不显示栏目名称。
 例1中调用“国内新闻”栏目的最新3条信息,万能标签语法应为:
 [ecmsinfo]34,3,36,0,0,标签模板ID,0[/ecmsinfo]
 标签参数说明
34
在帝国CMS后台查得“国内新闻”栏目的ID=34;
3
每个新闻栏目显示3条信息;
36

标题长度截取36个字符;

0
是否显示栏目名——0为不显示;
0
操作类型=0,调用栏目的最新信息.操作类型点击这里查询
标签模板ID
此处先保留,下面我们将专门讲解标签模板ID;
0
是否只调用带标题图片的信息——0为不限制,有无标题图片的信息都做调用。
通过上面的分析,我们已经知道了除“标签模板ID”外的所有万能标签参数值。稍后我们将确定“标签模板ID”参数值。
 ::标签模板ID:要知道标签模板ID值,就必须先增加标签模板。下面我们先了解决定标签模板ID值的“标签模板”。 
 第二步,增加标签模板
 ::增加标签模板:
 位置:登陆帝国CMS后台 > “模板管理” > “管理标签模板” > “增加标签模板”
 (图10):
“增加标签模板”页面选项说明:
 模板名:标签模板名称。例1的标签模板名称为教程-文字调用标签模板
 所属系统模型:选择标签模板所属的系统模型,例1选择新闻系统模型
 简介截取字数:针对“smalltext”、“flashsay”、“softsay”等简介字段的内容截取设置,0为不截取。
 每行显示:记录<!--list.var*-->循环条数。勾选自动识别。
 时间显示格式:格式化时间,如“Y-m-d”就是显示“2008-08-08”。例1选择m-d格式
页面模板内容

·确定万能标签的调用内容,根据调用内容得出标签模板语法:
例1中,我们需要用万能标签调用"国内新闻"栏目的最新3条信息(见文字调用样式)。
调用内容:如图11中黑色加粗的部分,即为我们要使用万能标签调用“国内新闻”栏目的信息(图11):
 
调用内容的代码:查看图11黑色加粗部分对应的(即为图12中蓝色条内)代码,就是要用万能标签语法表示的调用内容代码,(图12):
循环内容:在调用内容中,我们发现图12中红色框内代码具有相同的循环规律,所以循环内容代码如下
<tr>
<td width="82%" height="23">·<a href="http://www.phome.net" target="_blank">帝国网站管理系统6.0正式版开源发布</a></td>
<td width="18%"><div align="right">[11-08]</div></td>
</tr>
显示样式:在调用内容中,循环内容以外的代码就是循环内容的显示样式,即图12中红色框以外的蓝色部分代码
信息内容:找出循环内容中,具有相同格式的信息显示内容,就是信息内容。
例1中,循环内容中只有一条信息内容,因此循环内容就是信息内容。
当循环内容中包含多条信息时,找出信息内容就可以确定<!--list.var*-->了。

·确定页面模板内容
首先,保持显示样式不变,
其次,只保留一条循环内容,删除其他相同的循环内容,
然后,在循环内容的顶部和底部,分别加上列表头和列表尾[!--empirenews.listtemp--](见图13):
将循环内容中的信息内容用<!--list.var1-->替换,就得到列表内容:<!--list.var1-->
确定显示样式、列表头、列表内容、列表尾后,即得到页面模板内容(见图14,蓝色条内代码):
页面模板内容代码
<table width="100%" border="0" cellspacing="1" cellpadding="3">
[!--empirenews.listtemp--]
<!--list.var1-->
[!--empirenews.listtemp--]
</table>
列表内容模板
(list.var)

将信息内容用变量表示,就得到列表内容模板。 根据列表内容模板(list.var)支持的变量:
标题变量
[!--title--]

变量说明:根据列表内容模板(list.var)支持的变量说明知道,
数据表字段内容调用表示方法:[!--字段名--];
本例使用的是新闻系统模型即新闻数据表,所以,
标题变量:[!--title--];发布时间变量:[!--newstime--]
标题链接变量为:[!--titleurl--]。

标题链接变量
[!--titleurl--]
发布时间变量

[!--newstime--]

将信息内容中的标题,标题链接,发布时间用列表内容模板(list.var)支持的变量替换,
就得到列表内容模板(list.var)了,(见图15):
(图15):
列表内容模板(list.var)代码
<tr>
<td width="82%" height="23">·<a href="[!--titleurl--]" target="_blank">[!--title--]</a></td>
<td width="18%"><div align="right">[[!--newstime--]]</div></td>
</tr>
依次设置“增加标签模板”页面选项后,点击页面底部的“保存模板”按钮(见图10),标签模板增加完毕。
 第三步,确定万能标签
 ::确定“标签模板ID”值:
 "标签模板"增加完毕后,返回"管理标签模板"页面,可以看到我们刚才标签模板(见图16),并获得由系统自动分配的标签模板ID值:
 (图16)例1的标签模板ID值为13:
 ::将“标签模板ID”值写入万能标签:
 最后,将“标签模板ID”值写入万能标签,例1中调用国内新闻栏目3条最新信息的万能标签即为:
[ecmsinfo]34,3,36,0,0,13,0[/ecmsinfo]
 自己动手练习下使用万能标签调用其他新闻栏目的信息^-^
【例2】 使用万能标签调用新闻数据表中,所有栏目最新发布的4条带标题图片的信息
 第一步,分析万能标签
 ::万能标签语法
 按照图片调用样式的设定:调用新闻数据表中最新4条带标题图片的信息,标题长度截取36个字符,不显示栏目名称。
 例2中调用“图片新闻”栏目的最新4条信息,万能标签语法应为:
 [ecmsinfo]'news',4,36,0,18,标签模板ID,1[/ecmsinfo]
 标签参数说明:
'news'
操作类型决定栏目ID='数据表',所以例2中的栏目ID值为'news'。
4
显示4条带标题图片的信息。
36

标题长度截取36个字符;

0
是否显示栏目名——0为不显示;
18
由于例2的标签是调用新闻表的信息,因此操作类型选择按数据表调用各表最新信息,值为18。操作类型查询
标签模板ID
此处先保留,下面我们将专门讲解模板ID;
1
1为 只调用带标题图片的信息。
通过上面的分析,我们已经知道了除“模板ID”外的所有万能标签参数。稍后我们将专门讲解“模板ID”参数。
 ::标签模板ID:要知道标签模板ID值,就必须先增加标签模板。下面我们先了解决定标签模板ID值的“标签模板”。 
 第二步,增加标签模板:
 ::增加标签模板
 位置:登陆帝国CMS后台 > “模板管理” > “管理标签模板” > “增加标签模板”
 (图20):
 “增加标签模板”页面选项说明
 模板名:标签模板名称。例2的标签模板名称为教程-图片调用标签模板
 所属系统模型:选择标签模板所属的系统模型,例2需选择新闻系统模型
 简介截取字数:针对“smalltext”、“flashsay”、“softsay”等简介字段的内容截取设置,0为不截取。
 每行显示:记录<!--list.var*-->循环条数。勾选自动识别。
 时间显示格式:格式化时间,如“Y-m-d”就是显示“2008-08-08”。默认即可。
页面模板内容
调用内容:如图21中黑色加粗的部分,即为我们要使用万能标签调用新闻数据表的信息,(图21):

调用内容的代码:查看图21黑色加粗部分调用内容对应的(即为图22中蓝色框内)代码,(图22):

循环内容:在调用内容中,我们发现图22中红色框内代码具有相同的循环规律,所以循环内容代码如下
<td width="25%" height="92">
<div align="center"><a href="http://www.phome.net" title="帝国软件" target="_blank">
<img src="pic.gif" width="135" height="90" border="0"></a></div>
</td>
显示样式:图22中红色框以外的蓝色部分代码。
信息内容:例2中,循环内容中只有一条信息内容,因此循环内容就是信息内容。
·确定页面模板内容
首先,保持显示样式不变,
其次,只保留一条循环内容,删除其他相同的循环内容,
然后,在循环内容的顶部和底部,分别加上列表头和列表尾[!--empirenews.listtemp--](见图23):
将循环内容中的信息内容用<!--list.var1-->替换,就得到列表内容:<!--list.var1-->
确定页面模板内容(见图24,蓝色条内代码):

页面模板内容代码
<table width="100%" border="0" cellspacing="3" cellpadding="1">
<tr>
[!--empirenews.listtemp--]
<!--list.var1-->
[!--empirenews.listtemp--]
</tr>
</table>
列表内容模板
(list.var)
根据列表内容模板(list.var)支持的变量:
标题变量
标题ALT:[!--oldtitle--],表示无论标签是否设置截取标题字符,最终的样式都显示完整标题.
而标题[!--title--],表示当标签设置截取标题字符时,最终的样式只显示截取后的标题。
标题链接变量
[!--titleurl--]
标题图片变量

[!--titlepic--]

将信息内容中的标题,标题链接,标题图片变量用列表内容模板(list.var)支持的变量替换,
就得到列表内容模板(list.var)了,(见图25):
列表内容模板(list.var)代码
<td width="25%" height="92">
<div align="center"><a href="[!--titleurl--]" title="[!--oldtitle--]" target="_blank">
<img src="[!--titlepic--]" width="135" height="90" border="0"></a></div>
</td>
依次设置“增加标签模板”页面选项后,点击页面底部的“保存模板”按钮(见图20),标签模板增加完毕。
 第三步,确定万能标签
 ::确定“标签模板ID”值:
 "标签模板"增加完毕后,返回"管理标签模板"页面,可以看到我们刚才标签模板(见图26),并获得由系统自动分配的标签模板ID值:
 (图26)例2的标签模板ID值为14:
 ::将“标签模板ID”值写入万能标签:
 最后,例2调用新闻数据表内所有栏目4条最新信息的万能标签语法即为:
 [ecmsinfo]'news',4,36,0,18,14,1[/ecmsinfo]
 用万能标签替换HTML效果页面的调用内容:
 用万能标签替换【例1】中图11和【例2】中图21的调用内容,HTML页面效果如下(图3):
 已加上万能标签后的模板(见图3)HTML代码如下(HTML代码2):
 3、将已加上万能标签的HTML效果页面代码复制到后台更新:
 位置:后台 > “模板管理” > “管理自定义页面” > “增加自定义页面”:
 页面名称:ecmsinfo万能标签调用测试页面
 文件名:../../ecmsinfo.html
 页面内容:将已加上万能标签的模板HTML代码(HTML代码2)复制到页面内容框中(图4):
 点击页面底部的“提交”按钮,万能标签调用测试页面增加完毕。
 4、查看生成后的页面效果:
 管理自定义页面,可看到我们刚才增加的页面(图5):
 点击页面名称查看最终页面在网站前台的生成效果(图6):
 至此,万能标签使用讲解完毕。
 附:
 标签模板制作举例:
 例3:用万能标签实现如下效果图
  分析:调用内容
 调用内容代码
<table width="50%">
<tr>
<td>帝国CMS-安全、强大、稳定、灵活 [01-10]</td>
</tr>
<tr>
<td>帝国CMS-安全、强大、稳定、灵活 [01-10]</td>
</tr>
<tr><td>文字广告</td></tr>
<tr>
<td>帝国CMS-安全、强大、稳定、灵活 [01-10]</td>
</tr>
<tr>
<td>帝国CMS-安全、强大、稳定、灵活 [01-10]</td>
</tr>
<tr>
<td>文字广告</td>
</tr>
</table>
 标签模板确定过程
 首先,保持显示样式不变,
 其次,只保留一条循环内容,删除其他相同的循环内容,
 然后,在循环内容的顶部和底部分别加上列表头和列表尾[!--empirenews.listtemp--]

<table width="50%">
[!--empirenews.listtemp--]
<tr>
<td>帝国CMS-安全、强大、稳定、灵活 [01-10]</td>
</tr>
<tr>
<td>帝国CMS-安全、强大、稳定、灵活 [01-10]</td>
</tr>
<tr>
<td>文字广告</td>
</tr>
[!--empirenews.listtemp--]
</table>

 将循环内容中的信息内容用<!--list.var*-->替换,得到页面模板内容,因有两条信息内容,所以用两个<!--list.var*-->
 页面模板内容
<table width="50%">
[!--empirenews.listtemp--]
<!--list.var1-->
<!--list.var2-->
<tr>
<td>文字广告</td>
</tr>
[!--empirenews.listtemp--]
</table>
 将信息内容中的标题,标题链接,标题图片变量用列表内容模板(list.var)支持的变量替换, 得到列表内容模板(list.var)。
 列表内容模板
<tr>
<td>[!--title--] [[!--newstime--]]</td>
</tr>
 知道页面模板内容、列表内容模板后,标签模板就基本实现了。
 
 标签模板列表内容循环原理:
 循环内容:列表头与列表尾之间的列表内容。
 循环次数=显示条数/每次显示条数,显示条数即万能标签语法中的显示条数设置;每次显示条数即增加标签模板中的选项设置。
 第一次循环执行列表头与列表尾之间的<!--list.var1-->与其他内容;
 第二次循环执行列表头与列表尾之间的<!--list.var2-->与其他内容;
 以例3为例:
[!--empirenews.listtemp--]
<!--list.var1-->
<!--list.var2-->
<tr>
<td>文字广告</td>
</tr>
[!--empirenews.listtemp--]
第一次循环红色框内的:
<!--list.var1-->
<tr>
<td>文字广告</td>
</tr>
第二次循环蓝色框内的:
<!--list.var2-->
<tr>
<td>文字广告</td>
</tr>
 
 本例子使用素材:点击这里下载素材
 相关链接:
 ecmsinfo标签使用教程2
 ecmsinfo标签使用视频教程
 用ecmsinfo标签实现不规则新闻
 用ecmsinfo标签实现论坛贴子调用