首先说一下,帝国cms的灵动标签对应的函数是sys_ReturnEcmsLoopBq,我们就在这里写自定义sql语句,代码如下:
/代码开始/
/代码结束/
代码解释:
第一、$ecms_bq_sql=sys_ReturnEcmsLoopBq('select * from [!db.pre!]enewsclass where bclassid=0 order by classid desc',5,24,0);
这句代码其中的bclassid=0代表根目录,语句表示按照根目录来查询类表,而且按照classid来降序排列,如果你想倒一下顺序,比如像下图这样,觉得“站长杂谈”和“服务器相关”排到前面,就这样写:order by classid asc,如下图箭头所示;
第二、$ems_news_sql2=sys_ReturnEcmsLoopBq('select * from [!db.pre!]enewsclass where bclassid='.$bqr[classid].' order by classid desc',5,24,0);
这个第二个循环里的代码,这里的bclassid='.$bqr[classid]要写对,不要漏了.$bqr[classid]前面的小圆点,是英文状态下的小圆点,这里就是子栏目和父栏目的对应关系。
通过循环,把某个栏目下的子栏目全部取出来,然后再进入下个栏目的循环,最后把所有的根栏目和下级栏目全部取出来了,最终实现效果如下:
以上就是在帝国cms中如何通过循环语句来写二级导航代码,其实这个写法甚至可以写三级甚至四级导航,只要把握好循环要点就可以了。
PS:本文来自万书涛的个人博客,感谢分享。
/代码开始/
<?php $ecms_bq_sql=sys_ReturnEcmsLoopBq('select * from [!db.pre!]enewsclass where bclassid=0 order by classid desc',5,24,0);//bclassid=0 $bqno=0; while($bqr=$empire->fetch($ecms_bq_sql)) { $bqsr=sys_ReturnEcmsLoopStext($bqr); $bqno++; ?> <li class=""><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" class="v1"><?=$bqr[classname]?></a> <dl> <?php $bqno2=0; $ems_news_sql2=sys_ReturnEcmsLoopBq('select * from [!db.pre!]enewsclass where bclassid='.$bqr[classid].' order by classid desc',5,24,0); while ($bqr2=$empire->fetch($ems_news_sql2)) { $bqsr=sys_ReturnEcmsLoopStext($bqr2); $bqno2++; ?> <dd> <a href="<?=$public_r[newsurl]?><?=$bqr2[classpath]?>" class="menu2" target="_blank"> <?=$bqr2[classname]?></a></dd> <?php } ?> </dl> </li> <?php } ?> |
代码解释:
第一、$ecms_bq_sql=sys_ReturnEcmsLoopBq('select * from [!db.pre!]enewsclass where bclassid=0 order by classid desc',5,24,0);
这句代码其中的bclassid=0代表根目录,语句表示按照根目录来查询类表,而且按照classid来降序排列,如果你想倒一下顺序,比如像下图这样,觉得“站长杂谈”和“服务器相关”排到前面,就这样写:order by classid asc,如下图箭头所示;
第二、$ems_news_sql2=sys_ReturnEcmsLoopBq('select * from [!db.pre!]enewsclass where bclassid='.$bqr[classid].' order by classid desc',5,24,0);
这个第二个循环里的代码,这里的bclassid='.$bqr[classid]要写对,不要漏了.$bqr[classid]前面的小圆点,是英文状态下的小圆点,这里就是子栏目和父栏目的对应关系。
通过循环,把某个栏目下的子栏目全部取出来,然后再进入下个栏目的循环,最后把所有的根栏目和下级栏目全部取出来了,最终实现效果如下:
以上就是在帝国cms中如何通过循环语句来写二级导航代码,其实这个写法甚至可以写三级甚至四级导航,只要把握好循环要点就可以了。
PS:本文来自万书涛的个人博客,感谢分享。