帝国cms模板标签通过条件实现复杂调用的方法

帝国cms在V6.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]


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

[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]


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

[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]


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

[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]



上面是以灵动标签为例,其他信息调用标签使用也是一样,参数后面直接加上面两个参数即可。

Tags: 模板   标签
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.