返回旧版| 微信建站| 我要建站 | 建站学习 | 加入收藏
PHPCMS当前位置:首页 > cms教程 > 综合cms > PHPCMS > 正文

phpcms判断栏目是否高亮函数封装

发布时间:2020-08-20 16:17:07   来源:   点击:
平时我们判断栏目是否高亮都需要写一堆的if判断,比如
  1. {if $top_parentid == $r[catid]||$catid==$r[catid]||$parentid==$r[catid]} current{/if}" 
这么写当然可以用,并且绝大多数人用的都是这种方法,但是当栏目层级太多的时候这个就无法判断,关键是太长了,影响代码美观,所以封装一个方法快速判断


找到phpcms/libs/function/global.func.php最下边新增代码:
  1. /** 
  2.  * 判断栏目高亮 
  3.  * @param $catid 当前catid 
  4.  * @param $heightid 需要高亮的catid 
  5.  */ 
  6. function curnav($catid,$heightid){ 
  7.     if (empty($siteid)) $siteid = get_siteid(); 
  8.     $category = getcache('category_content_'.$siteid,'commons'); 
  9.     $flag = false
  10.     if(empty($catid) && empty($heightid)) { 
  11.         $flag = true
  12.     }else
  13.         if(!empty($heightid)){ 
  14.             $parentids = explode(',',$category[$catid]['arrparentid']); 
  15.             if(in_array($heightid,$parentids) || $catid == $heightid){ 
  16.                 $flag = true
  17.             } 
  18.         } 
  19.     } 
  20.     return $flag; 
前端使用方式:
(1)如果栏目是固定的
  1. {if curnav($catid,1)}class="on"{/if
$catid为固定写法,表示当前页的栏目id,1表示要高亮的栏目,即只要是1或者1的子栏目都会高亮
(2)如果是循环的栏目

  1. {if curnav($catid,$r[catid])}class="on"{/if
$catid固定写法,当前栏目id,$r[catid]循环的栏目id,也就是只要当前是$r[catid]或者$r[catid]的子栏目都会高亮

(3)首页的判断
  1. {if curnav($catid,0)}class="on"{/if
或者直接:
  1. {if curnav(0,0)}class="on"{/if

这么一封装,就可以快速的判断是否需要高亮
相关栏目
热门文章
最新图文
评论排行
版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814