帝国CMS当前栏目高亮显示
帝国CMS当前栏目高亮显示
1、打开 e/class/userfun.php文件,加入以下自定义代码:
function currentPage($classid,$thisid){ global $class_r; $fr=explode('|',$class_r[$classid][featherclass]); $topbclassid=$fr[1]?$fr[1]:$classid;//取得第一级栏目id if ($topbclassid==$thisid) { echo "class=on"; }else { }}
class=on样式名自己定义,并用CSS控制
2、在导航位置加入以下代码,具体的SQL语句可以自己改造,亮点在<?=currentPage($GLOBALS[navclassid],$bqr[classid])?>
[e:loop={'select classid,classname,classpath from [!db.pre!]enewsclass where showclass=0 and bclassid=0 order by myorder asc,classid asc',0,24,0}]
<li id="cid<?=$bqr[classid]?>"><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" <?=currentPage($GLOBALS[navclassid],$bqr[classid])?>> <?=$bqr[classname]?></a></li>
[/e:loop]
生成所有页面,查看效果:
PS:因网站需要二级分类,所以在测试的时候按SQL执行原理依次获取 $bqr[classid] 的值,并调用对应的classid下的栏目名称,发现问题:
问题一:如果用[showclasstemp]'<?=$bqr[classid]?>',1,0,0[/showclasstemp] ,发现<?=$bqr[classid]?>在[showclasstemp]中无效,具体原因还在寻找中
问题二:如果用[e:loop={SQL语句}] 嵌入到一级栏目分类中,发现 [e:loop]标签不会自动识别首尾语句,导致无法使用
二级栏目的调用还要研究中,待续。
内容却是丰富 参考一下
yuanliang评论Re:帝国CMS当前栏目高亮显示
这个值得关注学习一下
xiaoqi评论Re:帝国CMS当前栏目高亮显示