帝国cms PHP子集灵动标签调用 套用灵动标签 灵动标签套娃

242 阅读1分钟

树桩结构栏目 一级,二级,三级 通过一级栏目调用二级子栏目,再调用二级子栏目里面的内容 我们可以通过PHP 标签套用灵动标签

为什么要了解这个技巧

1、通过php代码可以在不支持灵动标签的页面中调用信息。

2、通过php代码来调用信息更灵活,可以支持标签无限嵌套的效果。

 

image.png

    <?php
                                             $sql0=$empire->query("select classid,classname,sonclass from {$dbtbpre}enewsclass where bclassid=30   order by myorder,classid");
                        while($bqrs=$empire->fetch($sql0))
                        {
                            $classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
                        ?>
                                                    <ul>

                                                            [e:loop={$bqrs['classid'],10,0,0,'','newstime DESC'}]
                                                            <li>
                                                                    <p><a href="<?=$bqsr['titleurl']?>"><?=$bqr['ftitle']?></a>
                                                                    </p>
                                                            </li>
                                                            [/e:loop]

                                                    </ul>
                                                <?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变量名改下就可以了。