- {pc:content action="category" catid="0" num="25" order="listorder ASC"}
- {loop $data $r}
- <li><a href="{$r[url]}" {if $r[catid] == $catid } class="select" {/if}>{$r[catname]}</a></li>
- {/loop}
- {/pc}
如上面代码,当前catid,等于接收到的catid,就会改变导航条菜单a的样式,这样可以满足一般的需要,当时,如果导航菜单下面还有子类的话,点击下面子类就不会这样显示了,原因是子类的ID肯定不等于当前栏目ID,除非要获取顶级栏目ID,修改后的代码如下:
- {php $topcatid=$CATEGORYS[$top_parentid][catid]}<!--获取顶级栏目catid,但是单网页模型的内容无法获取-->
- {php if($topcatid=='')$topcatid=$catid}
- {php if($topcatid=='35' || $topcatid=='36' || $topcatid=='37' || $topcatid=='38')$topcatid=1}<!--公司介绍团队介绍等单网页模型直接赋值顶级catid为1-->
- {pc:content action="category" catid="0" num="25" order="listorder ASC"}
- {loop $data $r}
- <li><a href="{$r[url]}" {if $r[catid] == $topcatid } class="select" {/if}>{$r[catname]}</a></li>
- {/loop}
- {/pc}
这样就可以实现PHPcms导航菜单栏根据栏目改变样式了,上面{php if($topcatid=='35' || $topcatid=='36' || $topcatid=='37' || $topcatid=='38')$topcatid=1}这个IF判断,一般的用户不需要添加,这个是因为我上面有个公司介绍栏目,属于单网页类型,公司介绍后面有子分类,$catid分别是35到38,而$CATEGORYS[$top_parentid][catid]}这个是获取不到单网页类型的栏目的。
如果还有疑问,请到程序员人生网给我留言
上一篇 一次mysql优化经历