微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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]}这个是获取不到单网页类型的栏目的。
如果还有疑问,请到程序员人生网给我留言

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐