加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > phpcms > 正文

PHPcms导航菜单栏根据栏目改变样式

发布时间:2020-12-14 02:03:01 所属栏目:phpcms 来源:网络整理
导读:PHPcms导航菜单栏根据栏目改变样式,这个问题困惑了我很久,翻看了phpcms手册,似乎也没有这方面的解决方案。我要的效果如下图 意思是现在如果是互联网栏目,背景颜色就改成金黄色,网上搜索了下,解决方案是这样的 {pc:content action = category catid = 0 n
PHPcms导航菜单栏根据栏目改变样式,这个问题困惑了我很久,翻看了phpcms手册,似乎也没有这方面的解决方案。我要的效果如下图


意思是现在如果是互联网栏目,背景颜色就改成金黄色,网上搜索了下,解决方案是这样的
  1. {pc:content action="category" catid="0" num="25"  order="listorder ASC"}  
  2.          {loop $data $r}  
  3.              <li><a href="{$r[url]}" {if $r[catid] == $catid } class="select" {/if}>{$r[catname]}</a></li> 
  4.          {/loop}  
  5.   {/pc} 

如上面代码,当前catid,等于接收到的catid,就会改变导航条菜单a的样式,这样可以满足一般的需要,当时,如果导航菜单下面还有子类的话,点击下面子类就不会这样显示了,原因是子类的ID肯定不等于当前栏目ID,除非要获取顶级栏目ID,修改后的代码如下:
 

  1. {php $topcatid=$CATEGORYS[$top_parentid][catid]}<!--获取顶级栏目catid,但是单网页模型的内容无法获取--> 
  2. {php if($topcatid=='')$topcatid=$catid}  
  3. {php if($topcatid=='35' || $topcatid=='36' || $topcatid=='37' || $topcatid=='38')$topcatid=1}<!--公司介绍团队介绍等单网页模型直接赋值顶级catid为1--> 
  4.  
  5. {pc:content action="category" catid="0" num="25"  order="listorder ASC"}  
  6.   {loop $data $r}  
  7.        <li><a href="{$r[url]}" {if $r[catid] == $topcatid } class="select" {/if}>{$r[catname]}</a></li> 
  8.   {/loop}  
  9. {/pc} 

这样就可以实现PHPcms导航菜单栏根据栏目改变样式了,上面{php if($topcatid=='35' || $topcatid=='36' || $topcatid=='37' || $topcatid=='38')$topcatid=1}这个IF判断,一般的用户不需要添加,这个是因为我上面有个公司介绍栏目,属于单网页类型,公司介绍后面有子分类,$catid分别是35到38,而$CATEGORYS[$top_parentid][catid]}这个是获取不到单网页类型的栏目的。
如果还有疑问,请到程序员人生网给我留言

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读