标签调用的附加SQL条件和排序参数

本文目录
  • 附加SQL条件和排序参数介绍
  • 语法说明
  • 举例说明

附加SQL条件和排序参数介绍

帝国CMS6.5以上版本在原来所有信息调用标签基础上增加了两个标签参数:“附加SQL条件”和“显示排序”。

支持这两个参数的标签有如下:

ecmsinfo、灵动标签、phomenews、phomenewspic、phomeflashpic、phomeautopic、listsonclass、phomenewstext

语法说明

以灵动标签为例,标签语法为:

[e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}]
模板代码内容
[/e:loop]

其中“附加SQL条件”和“显示排序”这两个参数,如果不使用可以不设置或者则用''两个单引号表示。例如:

[e:loop={1,10,0,0,'',''}]和[e:loop={1,10,0,0}]是一样的效果。

举例说明

以灵动标签为例: 例子1:调用标题包含“cms”的新闻

6.0以前版本要使用SQL调用,如下:

[e:loop={"select * from phome_ecms_news where title like '%cms%' and checked=1 order by newstime desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

而新版本用下面就可以实现上面效果:

[e:loop={'news',10,18,0,"title like '%cms%'",''}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

无需写SQL语句,而且调用父栏目时不需要按原来SQL调用写全所有终极栏目ID,更简单更方便。

例子2:按DIGG顶数降序显示新闻信息

6.0以前版本要使用SQL调用,如下:

[e:loop={"select * from phome_ecms_news where checked=1 order by diggtop desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

而新版本用下面就可以实现上面效果:

[e:loop={'news',10,18,0,'','diggtop desc'}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

还支持多字段排序,比如:'istop desc,id desc,title desc'

例子3:显示一周内信息点击排行

6.0以前版本要使用SQL调用,如下:

[e:loop={"select * from phome_ecms_news where checked=1 and newstime>UNIX_TIMESTAMP()-86400*7 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

而新版本用下面就可以实现上面效果:

[e:loop={'news',10,18,0,'newstime>UNIX_TIMESTAMP()-86400*7','onclick desc'}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

例子4:调用3级头条的信息

[e:loop={'news',10,18,0,'firsttitle=3'}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

例子5:调用5级推荐的信息

[e:loop={'news',10,18,0,'isgood=5'}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]
上面是以灵动标签为例,其他信息调用标签使用也是一样,参数后面直接加上面两个参数即可。