帝国CMS灵动标签e:loop的使用方法分享

外加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]?/abr [/e:loop]
而新版本用上边就可以实现地点效果: [e:loop={‘news’,10,18,0,”title like
‘%cms%'”,”}] a href=”?=$bqsr[titleurl]?”
target=”_blank”?=$bqr[title]?/abr [/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]?/abr [/e:loop]
而新版本用上面就能够达成地点效果: [e:loop={‘news’,10,18,0,”,’diggtop
desc’}] a href=”?=$bqsr[titleurl]?”
target=”_blank”?=$bqr[title]?/abr [/e:loop]
还扶助多字段排序,举例:’istop desc,id desc,title desc’
事例3:显示10日内消息点击排名 6.0原先版本要利用SQL调用,如下:
[e:loop={“select * from phome_ecms_news where checked=1 and
newstimeUNIX_TIMESTAMP()-86400*7 order by onclick desc limit
10″,10,24,0}] a href=”?=$bqsr[titleurl]?”
target=”_blank”?=$bqr[title]?/abr [/e:loop]
而新版本用下边就可以达成地点效果:
[e:loop={‘news’,10,18,0,’newstimeUNIX_TIMESTAMP()-86400*7′,’onclick
desc’}] a href=”?=$bqsr[titleurl]?”
target=”_blank”?=$bqr[title]?/abr [/e:loop]
事例4:调用3级头条的新闻 [e:loop={‘news’,10,18,0,’firsttitle=3′}]
a href=”?=$bqsr[titleurl]?” target=”_blank”?=$bqr[title]?/abr
[/e:loop] 事例5:调用5级推荐的音讯
[e:loop={‘news’,10,18,0,’isgood=5′}] a href=”?=$bqsr[titleurl]?”
target=”_blank”?=$bqr[title]?/abr [/e:loop]
上边是以敏锐标签为例,别的新闻调用标签使用也是如同一口,参数前面直接加下边七个参数就能够。

用灵动标签调用外界数据: 例一:调用Discuz的风行贴子

乖巧标签 (e:loopState of Qatar
格式:

table width=100% border=0 cellspacing=1 cellpadding=3 [e:loop={select
tid,subject,dateline from discuzdb.cdb_threads order by tid desc limit
10,10,24,0}] trtd a href=/bbs/viewthread.php?tid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[dateline])?)
/td/tr [/e:loop] /table

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

discuzdb.cdb_threads为Discuz的贴子表名,当中discuzdb为Discuz的数据库名称。
limit 10为显示贴子数量。
要是用伪静态地址能够用:/bbs/thread-?=$bqr[tid]?-1-1.html
若是钦点单个版块的贴子,SQL用:select tid,subject,dateline from
discuzdb.cdb_threads where fid=版块ID order by tid desc limit 10
一旦钦定五个版块的贴子,SQL用:select tid,subject,dateline from
discuzdb.cdb_threads where fid in (1,2,3) order by tid desc limit 10
例二:调用Discuz的新型贴子

例子:

table width=100% border=0 cellspacing=1 cellpadding=3 [e:loop={select
tid,subject,dateline,fid from discuzdb.cdb_threads order by tid desc
limit 10,10,24,0}] ?php $fr=$empire-fetch1(select name from
discuzdb.cdb_forums where fid=’$bqr[fid]’); ? trtd [?=$fr[name]?]
a href=/bbs/viewthread.php?tid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[dateline])?)
/td/tr [/e:loop] /table

复制代码代码如下:

discuzdb.cdb_forums为Discuz的版块表名,此中discuzdb为Discuz的数据库名称。
例三:调用DiscuzX的新式贴子

[e:loop={栏目ID/专项论题ID,展现条数,操作类型,只突显有标题图片,附加SQL条件,展现排序}]

table width=100% border=0 cellspacing=1 cellpadding=3 [e:loop={select
tid,subject,dateline from discuzdb.pre_forum_thread order by tid desc
limit 10,10,24,0}] trtd a
href=/bbs/forum.php?mod=viewthreadtid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[dateline])?)
/td/tr [/e:loop] /table

=$bqr[title]?>
(=date(‘Y-m-d’,$bqr[newstime])?>)

discuzdb.pre_forum_thread为DiscuzX的贴子表名,此中discuzdb为DiscuzX的数据库名称。
limit 10为突显贴子数量。
固然用伪静态地址能够用:/bbs/thread-?=$bqr[tid]?-1-1.html
借使钦定单个版块的贴子,SQL用:select tid,subject,dateline from
discuzdb.pre_forum_thread where fid=版块ID order by tid desc limit 10
假如钦命三个版块的贴子,SQL用:select tid,subject,dateline from
discuzdb.pre_forum_thread where fid in (1,2,3) order by tid desc limit
10 例四:调用DiscuzX的新型贴子

[/e:loop]

table width=100% border=0 cellspacing=1 cellpadding=3 [e:loop={select
tid,subject,dateline,fid from discuzdb.pre_forum_thread order by tid
desc limit 10,10,24,0}] ?php $fr=$empire-fetch1(select name from
discuzdb.pre_forum_forum where fid=’$bqr[fid]’); ? trtd
[?=$fr[name]?] a
href=/bbs/forum.php?mod=viewthreadtid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[dateline])?)
/td/tr [/e:loop] /table

标签表达:灵动标签是无需做标签模板,且模板内容为PHP代码,由此越来越灵敏,能够选用php全数管理函数。使用本标签,需展开模板帮衬程序代码(参数设置卡塔尔国。
参数:
栏目ID/专题ID:查看栏目ID点这里,查看专项论题ID点这里,当前ID=’selfinfo’,八个栏目ID与专题ID可用,号格开,如’1,2’。
来得条数:展现前几条记下。
操作类型:具体看操作类型表明。
只呈现有标题图片:0为不限制,1为只呈现有标题图片的音信。
叠合SQL条件:附加调用条件,如:”title=’帝国'”。
显示排序:可钦命按对应的字段排序,如:”id desc”。
变量表明:
$bqr:$bqr[字段名]:呈现字段的开始和结果
$bqsr:$bqsr[titleurl]:标题链接,$bqsr[classname]:栏目名称,$bqsr[classurl]:栏目链接
$bqno:$bqno:为调用序号
$public_r:$public_r[newsurl]:网址地址
常用函数介绍:
文字截取:esub(字符串,截取长度卡塔尔(قطر‎,例子:esub($bqr[title],30State of Qatar截取题如今二十几个字符。
光阴格式:date(‘格式字串’,时间字段卡塔尔(قطر‎,例子:date(‘Y-m-d’,$bqr[newstime]卡塔尔时间彰显格式为”二〇〇九-10-01″。
实例1:假设新闻为当天就加New标识
本作用达成调用音信时候假诺是当天公布的流行音信展现New标识图片。

discuzdb.pre_forum_forum为DiscuzX的版块表名,此中discuzdb为DiscuzX的数据库名称。
例五:调用PHPwind的新型贴子

复制代码代码如下:

table width=100% border=0 cellspacing=1 cellpadding=3 [e:loop={select
tid,subject,postdate from phpwinddb.pw_threads order by tid desc limit
10,10,24,0}] trtd a href=/bbs/read.php?tid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[postdate])?)
/td/tr [/e:loop] /table

  • =sub($bqr[title],0,10,false)?>=$newimg?>

phpwinddb.pw_threads为phpwind的贴子表名,个中phpwinddb为phpwind的数据库名称。
limit 10为展现贴子数量。
即便用伪静态地址可以用:/bbs/read-htm-tid-?=$bqr[tid]?.html
假设钦赐单个版块的贴子,SQL用:select tid,subject,postdate from
phpwinddb.pw_threads where fid=版块ID order by tid desc limit 10
比如钦点四个版块的贴子,SQL用:select tid,subject,postdate from
phpwinddb.pw_threads where fid in (1,2,3) order by tid desc limit 10
例六:调用PHPwind的最新贴子

证实:首先定义newimg为空若是日期=当天则呈现New图片,用=$newimg?>在你想要的适龄地点调用。
实例2:在敏感标签内接收SQL
[e:loop={‘select * from phome_ecms_news where classid=72 order by id
DESC limit 6’,6,24,0}],注意尾数第叁个参数为24,才得以应用SQL。

table width=100% border=0 cellspacing=1 cellpadding=3 [e:loop={select
tid,subject,postdate,fid from phpwinddb.pw_threads order by tid desc
limit 10,10,24,0}] ?php $fr=$empire-fetch1(select name from
phpwinddb.pw_forums where fid=’$bqr[fid]’); ? trtd [?=$fr[name]?]
a href=/bbs/read.php?tid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[postdate])?)
/td/tr [/e:loop] /table

复制代码代码如下:
[e:loop={‘select * from [!db.pre!]ecms_news where classid=72 and
type=’开发商’ order by id DESC limit 6′,6,24,0}]

phpwinddb.pw_forums为phpwind的版块表名,个中phpwinddb为phpwind的数据库名称。
别的验证:
1、帝国CMS的数据库帐号要有select权限查询相应数据库的表,能力读取成功。
2、SQL调用扶植调用mysql数据库的享有数据,上边只是举了多少个例证。

=$bqr[title]?>
=$bqr[address]?>
业务范围: =$bqr[smalltext]?><>

[/e:loop]  

实例3:若是音信带有图片消息,则标题上含蓄图片注脚

复制代码代码如下:
[e:loop={‘selfinfo’,20,0,0}]

$newimg=””;
if(!empty($bqr[titlepic]))
{
$newimg=”图片 1“;
}
?>

=sub($bqr[title],0,24,false)?> =$newimg?>

=$bqr[smalltext]?>[详细内容]

=$bqr[myarea]?>

=date(‘Y-m-d H:i:s’, $bqr[newstime])?>

[/e:loop]

体现字段用=$bqr[字段]?>,$bqsr就多少个变量:
$bqsr[titleurl]:标题链接
$bqsr[classname]:栏目名称
$bqsr[classurl]:栏目链接
$bqsr[titleurl]:题目链接
$bqsr[classname]:栏目名称
$bqsr[classurl]:栏目链接
而外那多少个别的的都用$bqr。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图