澳门新葡萄京官网首页帝国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:显示一周内信息点击排行 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[澳门新葡萄京官网首页%20,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:loop)
格式:

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],30)截取标题前30个字符。
时间格式:date(‘格式字串’,时间字段),例子:date(‘Y-m-d’,$bqr[newstime])时间显示格式为”2008-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。

发表评论

电子邮件地址不会被公开。 必填项已用*标注