帝国CMS灵动标签PHP代码实现标签无限嵌套的效果

帝国CMS用PHP代码实现灵动标签的技巧: 为什么要了解这个技巧
1、通过php代码可以在不支持灵动标签的页面中调用信息。
2、通过php代码来调用信息更灵活,可以支持标签无限嵌套的效果。
如何用PHP代码实现灵动标签的功能 我们先看下灵动标签语法:
[e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}]
模板代码内容 [/e:loop] 上面对应的PHP函数是:
sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序)
灵动标签实际对应的原型PHP代码为如下: ?php
$ecms_bq_sql=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
$bqno=0; while($bqr=$empire-fetch($ecms_bq_sql)) {
$bqsr=sys_ReturnEcmsLoopStext($bqr); $bqno++; ? 模板代码内容 ?php } ?
怎么做能实现标签无限嵌套的效果?下面举例: ?php
$ecms_bq_sql=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
$bqno=0; while($bqr=$empire-fetch($ecms_bq_sql)) {
$bqsr=sys_ReturnEcmsLoopStext($bqr); $bqno++; ? ?php
$ecms_bq_sql2=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
$bqno2=0; while($bqr2=$empire-fetch($ecms_bq_sql2)) {
$bqsr2=sys_ReturnEcmsLoopStext($bqr2); $bqno2++; ? 模板代码内容2
?=$bqr2[title]? ?php } ? 模板代码内容 ?=$bqr[title]? ?php } ?
红色部分是二次嵌套,还可以加三次、四次…,由上可以看出通过PHP代码是可以实现标签无限嵌套,只要$ecms_bq_sql、$bqno、$bqr、$bqsr变量名改下就可以了。

对于熟悉帝国CMS的朋友大都知道使用灵动标签进行特定信息的调用,而灵动标签的强大功能远非如此。
灵动标签的PHP函数是:
sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序)
采用灵动标签的php代码可以在不支持灵动标签的页面中调用信息,还能够实现标签无限嵌套的效果。
那么怎么做能实现标签无限嵌套的效果?下面举例说明:

灵动标签 (e:loop)格式:

<?php
$ecms_bq_sql=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
$bqno=0;
while($bqr=$empire->fetch($ecms_bq_sql))
{
$bqsr=sys_ReturnEcmsLoopStext($bqr);
$bqno++;
?>
<?php
$ecms_bq_sql2=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
$bqno2=0;
while($bqr2=$empire->fetch($ecms_bq_sql2))
{
$bqsr2=sys_ReturnEcmsLoopStext($bqr2);
$bqno2++;
?>
模板代码内容2 <?=$bqr2[title]?>
<?php
}
?>
模板代码内容 <?=$bqr[title]?>
<?php
}
?>
[e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}]模板代码内容[/e:loop]

使用时$ecms_bq_sql、$bqno、$bqr、$bqsr变量名针对性的修改一下即可实现无限嵌套效果。

例子:

table width="100%" border="0" cellspacing="1" cellpadding="3"[e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}]trtda href="?=$bqsr[titleurl]?" target="_blank"?=$bqr[title]?/a(?=date('Y-m-d',$bqr[newstime])?)/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。

显示字段用?=$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地图