程序员人生 网站导航

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

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

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐