帝国cms灵动标签调用栏目导航技巧

来源:互联网   编辑:思良  发表时间:2016-03-30  关注度:1129  

思良:看着头都大,看明白下面解释。真是网文不太信,总是找一部分就采集了,看吧明白,这篇我是找的原文,就是删除了一个效果图。应该能看懂。

帝国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变量名改下就可以了。
 


 
灵动标签调用栏目导航技巧
本节通过用灵动标签的SQL语句查询来调用栏目导航。(当然栏目导航一般我们用现成的showclasstemp或listshowclass栏目导航标签调用)
 
 
 
 
灵动标签调用栏目导航技巧:
例一:灵动标签显示栏目导航
<table width="200" border="0" cellpadding="3" cellspacing="1" bgcolor="#4FB4DE">
<tr>
<td height="25"><strong><font color="#FFFFFF">栏目导航</font></strong></td>
</tr> 
[e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=父栏目id order by myorder,classid desc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
?>
<tr>
<td height="25" bgcolor="#FFFFFF"><a href="<?=$classurl?>"><?=$bqr[classname]?></a></td>
</tr>
[/e:loop]
</table>
例二:灵动标签显示栏目导航,且给当前终极栏目的背景设为蓝色
<table width="200" border="0" cellpadding="3" cellspacing="1" bgcolor="#4FB4DE">
<tr>
<td height="25"><strong><font color="#FFFFFF">栏目导航</font></strong></td>
</tr> 
[e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=父栏目id order by myorder,classid desc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$bgcolor="#FFFFFF";
if($bqr[classid]==$GLOBALS[navclassid])//当前栏目ID
{
$bgcolor="#C3EFFF";

?>
<tr>
<td height="25" bgcolor="<?=$bgcolor?>"><a href="<?=$classurl?>"><?=$bqr[classname]?></a></td>
</tr>
[/e:loop]
</table>
$GLOBALS[navclassid]为当前栏目ID。
例三:灵动标签显示一级栏目导航,且在子栏目时也给当前一级栏目的背景设为蓝色
<table width="200" border="0" cellpadding="3" cellspacing="1" bgcolor="#4FB4DE">
<tr>
<td height="25"><strong><font color="#FFFFFF">栏目导航</font></strong></td>
</tr> 
[e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=0 order by myorder,classid desc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$bgcolor="#FFFFFF";
if($GLOBALS[navclassid])
{
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID
if($bqr[classid]==$topbclassid)
{
$bgcolor="#C3EFFF";
}
}
?>
<tr>
<td height="25" bgcolor="<?=$bgcolor?>"><a href="<?=$classurl?>"><?=$bqr[classname]?></a></td>
</tr>
[/e:loop]
</table>
 

原文:http://wenku.baidu.com/view/66d4b21959eef8c75fbfb3b8.html

    支付宝扫码领红包,不用多说,用过的人都知道,双赢的,你得红包,我得到同等推广红包,比如你扫到1元,我也得1元,大家得到的红包可以去实体店消费!新用户至少10元以上哦,每天都有!希望大家每天来本站扫码!感谢感谢!

    把打赏改成扫码红包了!支持本站就扫码下!


下一篇:用PHP代码实现灵动标签的技巧


上一篇: 帝国cms文章内容tags关键词设置调用方法以及tags静态化


小提示:按 回车[Enter]键 返回,按 ←键 返回上一页, 按 →键 进入下一页。

网友评论(0条评论)

选择头像
     

新闻评论(共有 0 条评论)

手机访问

本站APP

联系我

加我微信