SiteWeaver内容管理系统:动易2006版自定义动态标签、函数标签、采集标签

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页 | 首页 | DedeCMS | 帝国CMS | Drupal | PHPCMS | PHP168 | Xoops | Joomla | SupeSite

自定义动态标签

动态标签是指通过对自定义的SQL 语句进行查询分析后,将取得的数据按照预先设置的标签模板进行循环及内部嵌套处理后输出的标签。

动态函数标签:在静态或动态标签的基础上,进一步扩展出可自定义函数输入的标签。

>>添加动态标签

在自定义标签管理界面下,点击动态标签进入多动态标签管理界面。

!更多功能设计思路:您可以每个频道中定义不同的顶部自定义标签,并在自定义标签中调用不同的广告版位JS,这样就可在不同的频道显示和更新不同的广告效果。

1.与静态标签不同的是,动态标签要通过两步才能创建 ,第一步创建界面如下:

其中:

·标签名称:在使用模板时调用的名称,可使用中文定义。

·标签分类:是为了方便管理,可自由输入分类名称,或者从右方下拉菜单中选择已存在的分类名称。

·标签类型:当前创建标签的类型,一般不需要变动。

·分页数量:如果填入大于0的数字,则本标签的输出结果中会自动加入分页栏。

·自动刷新:单位为秒,如果填入大于10的数字,则前台的显示结果会根据您填写的刷新频率自动刷新,保持随时显示最新加入的内容。(注意:本功能必须在分页数量大于 0,和自动刷新大于10秒的情况下才会开启。)

·主从表选择:这个区域是通过对表和字段的选择,自动在下面的查询语句输入框中建立 SQL查询语句的可视化操作界面。

·查询语句:这里是最终查询的结果输出区,当使用可视化编辑器不能满足需求时,可手动进行二次编辑来达到要求。

·优先级:标签被执行的优先级别,当有多个同类标签存在时,优先级小的排列在前面执行。

·在主表中选择“PE_Article”并选择如下两个字段: ArticleID与Title

· 在已经生成的查询语句select top 10 ArticleID,Title from PE_Article后方,手动增加一下查询约束条件Where Status=3 and Deleted=False,其中Status=3表示显示通过审核的文章,Deleted=False表示显示未被删除的文章。

2.填好相关的参数后点击“下一步”进入第二步创建界面

其中:

·字段列表:单击字段名,可弹出字段添加界面

Sw429.jpg

·在这个弹出窗口中,通过对不同种类的字段的设置,可自动在下方的标签内容区域输出结果,目前程序可自动解析的基本字段类型有:文本型、数字型,时间型,是否型四种,另外对系统内有固定规则的字段,会智能判断并输出内置的一些处理结果。比如 ArticleID字段表示文章ID这个字段就可以分别输出文章的路径,文章的名称,或者是直接输出带有路径超连接指向的文章名称。

·参数列表:这里提供了四个固定的参数可供插入,分别是当前时间 {$Now},当前日期{$NowDay},当前月份{$NowMonth},当前年份 {$NowYear}。

Sw430.jpg

·标签内容区域:这里分成了两个部分,上面的区域供直接写入模板代码,下面的区域则提供了可视化的编辑区,动态标签提供的循环条件和字段设置都应该填写到这个区域,下面就是标签内容区可选择标签的一个解释列表:

·循环标签说明:

{loop}{/loop}

注:本标签属循环标签,应配对使用,一个动态标签只能使用一次

{infobegin}{infoend}

内部循环标签,应用于{loop}{/loop}循环内部 ,需配对使用,如使用多对,则应并行使用,不能进行嵌套调用 .

·字段标签说明:

1. 输出文本字段

{$Fidle(FieldID,Text,outfilte,outnum,outtype)}

FieldID 字段序号

Text 本字段按照文本属性进行输出

,outfilte 输出方式 0 直接输出 1 编码HTML输出 2 过滤HTML输出

outnum 输出文字数量

outtype 为0时,截取字串后显示...

为1时则不显示

2. 输出数字字段

{$Fidle(FieldID,Num,outtype,outid)}

FieldID 字段序号

Num 本字段输出数字

outtype

0 输出整数, outid为字符时,返回整数长度的由outid构成的字符串,一般用来显示星级。

1 使用FormatNumber规范数字,outid为小数位长度。

2 输出百分数

3. 输出时间字段

{$Fidle(FieldID,Time,outtype,outid)}

FieldID 字段序号

Time 本字段输出时间

outtype

0 输出自定义格式的时间,格式由outid控制

1 输出自定义格式的时间,格式由outid控制,且系统自动为不足 2位的日期数字补0到2位

2 输出自定义格式的时间,格式由outid控制,且系统自动为不足 2位的日期数字补0到2位,并且限制年份也只输出2位.

3 输出FormatDateTime函数处理时间,参数由outid控制

4. 输出是否字段

{$Fidle(FieldID,yn,TrueChar,FalseChar)}

FieldID 字段序号

yn 本字段输出判断后的字符串

TrueChar 字段为真时,输出的字符串,中间不要有,号

FalseChar 字段为假时,输出的字符串,中间不要有,号

5. 输出系统内置路径的字段

{$Fidle(FieldID,getype,infotype,outype)}

FieldID 字段序号,(应固定为ArticleID,SoftID,PhotoID,ProductID 这四个)

getype 输出系统内置的元素,由outype参数分别控制为三种不同的模式

GetUrl outype=1 输出路径

outype=2 输出名称

outype=3 输出超连接标签

GetClass outype=1 输出栏目路径

outype=2 输出栏目名称

outype=3 输出栏目超连接标签

GetSpecil outype=1 输出专题路径

outype=2 输出专题名称

outype=3 输出专题超连接标签

GetChannel outype=1 输出频道目录

outype=2 输出频道名称

outype=3 输出频道上传目录

infotype 需手动定义类型,以方便系统输出正确的路径,应注意与FieldID 参数相对应.

Article

Soft

Photo

Product

例子:(输出一个文章标题列表)

{Loop}
    {Infobegin}
        <A href={$InstallDir}{$Field(0,GetUrl,Article,1)}?{$Field(4,Text,0,0)}</A><br>
    {Infoend}
{/Loop}

·在新弹出的界面中,选择“标签内容”,并删除其中的“循环内容”部分,将光标保持在原“循环内容”的位置,点击上方的ArticleID列表,并修改弹出窗口如下:

Sw431.jpg

·点击插入按钮,该字段自动插入到标签内容中对应的位置。

Sw432.jpg

·同样点击Title字段名,可发现弹出窗口如下图,因为Title字段就是文章的标题字段,所以是显示的文本型处理方式。

·同样点击插入后,两个字段都插入到了标签内容中,我们再手动修改一下,使其能够按照我们的要求输出。

{Loop}{Infobegin}<a href="{$Field(0,GetUrl,Article,1)}"{$Field(1,Text,0,0,0)}</a>{Infoend}{/Loop}

Sw433.jpg

最后,点击“添加”按钮,完成这个标签的添加。这样,我们在修改模板的时候,就可以看到这个自定义标签,并添加到模板页面中,以显示我们需要的效果

插入效果:

Sw434.jpg

前台显示效果如图:

Sw435.jpg

自定义函数标签

动态函数标签:在静态或动态标签的基础上,进一步扩展出可自定义函数输入的标签。

添加动态函数标签的过程跟动态标签大致相同,起主要区别如下:

在添加函数标签的第一步的参数选项中多了一个参数说明,就是多了一个{$input}这样的标签用来引入参数 。

Sw436.jpg

其他详细的过程请参阅添加动态标签。

自定义采集标签

在自定义标签管理界面下,点击添加采集标签进入添加采集标签界面。

Sw437.jpg

·标签名称:在使用模板时调用的名称,可使用中文定义。

·标签分类:是为了方便管理,可自由输入分类名称,或者从右方下拉菜单中选择已存在的分类名称。

1.快速采集方式:

功能用途:将用户自己定义的页面(动态页面)以标签的形式显示在模板指定区域

比如:

标签名称:{$MY_汽车销售排行}

链接地址:http://www.xxxx.xxx/123.asp

123.asp 是一个自定义的显示汽车销售排行的表格,将{$MY_汽车销售排行}标签复制到网站首页指定区域,系统解析时就会把{$MY_汽车销售排行}标签解析为123.asp 页面处理的内容

2.高级采集方式:

Sw438.jpg

·高级采集方式与区域采集中的参数设置相同,具体的参数设置可参阅本书的区域采集的相关内容(本书第七章采集管理)

·采集标签的高级采集方式与采集管理中的区域采集主要区别是高级采集方式在网站中是以标签形式插入到网站模板代码中,把您想采集的某一块内容采集到您自己网站的页面中,如:排行榜等。而区域采集是把您所想采集部分的内容全部采集到网站的数据库中,然后再读取数据库的内容。