phpcms v9单页面栏目的当前导航不高亮怎么解决教程
                栏目分类:cms教程   发布日期:2015-09-02   浏览次数:次
            
            
            我们在做网站的时候,经常碰到导航栏高亮功能,或者侧栏高亮,这个会涉及到几个问题:1 栏目列表页子栏目高亮判断,如果当前页面为子栏目,他的顶级栏目如果在导航栏也要高亮。2 内容页高亮,这个phpcms一般没有
                
                我们在做网站的时候,经常碰到导航栏高亮功能,或者侧栏高亮,这个会涉及到几个问题:
1.栏目列表页子栏目高亮判断,如果当前页面为子栏目,他的顶级栏目如果在导航栏也要高亮。
2.内容页高亮,这个phpcms一般没有问题。
3.单页高亮判断。
主要问题就在这里,一般我们直接用$top_parentid参数来判断就可以。但是由于phpcms的设计问题,单页没有$top_parentid参数,如果单页为多级单页,那么这个办法就行不通了。
如何解决?
其实也比较简单,就是多加几个判断,由于单页有个$parentid参数,那么我们就可以以此来判断。
以下为参考代码:
导航栏带子导航菜单并且高亮
 
当然这个属于普遍通用的,对于特殊情况可能仍有一些bug,比如单页为3级以上的,那么这个可能失效了,但是对于一般的网站够用了,而且这个的好处是不用修改phpcms的程序了。
            
            1.栏目列表页子栏目高亮判断,如果当前页面为子栏目,他的顶级栏目如果在导航栏也要高亮。
2.内容页高亮,这个phpcms一般没有问题。
3.单页高亮判断。
主要问题就在这里,一般我们直接用$top_parentid参数来判断就可以。但是由于phpcms的设计问题,单页没有$top_parentid参数,如果单页为多级单页,那么这个办法就行不通了。
如何解决?
其实也比较简单,就是多加几个判断,由于单页有个$parentid参数,那么我们就可以以此来判断。
以下为参考代码:
导航栏带子导航菜单并且高亮
- <ul class="nav clearfix">
 - <li class="m {if !$catid} on{/if}" ><h3><a href="{siteurl($siteid)}" title="网站首页">网站首页</a></h3></li>
 - {pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}
 - {loop $data $k $v}
 - <li class="s">|</li>
 - <li class="m {if $top_parentid == $v[catid]||$catid==$v[catid]||$parentid==$v[catid]} on{/if}">
 - <h3><a href="{$v[url]}"title="{$v[catname]}">{$v[catname]}</a></h3>
 - {if $v[child]==1}
 - {pc:content action="category" catid="$k" num="10" siteid="$siteid" order="listorder ASC"}
 - <ul class="sub">
 - {loop $data $r}
 - <li> <a href="{$r[url]}" title="{$r[catname]}">{$r[catname]}</a></li>
 - {/loop}
 - </ul>
 - {/pc}
 - {/if}
 - </li>
 - {/loop}
 - {/pc}
 - <li class="block" style=""></li>
 - </ul>
 
当然这个属于普遍通用的,对于特殊情况可能仍有一些bug,比如单页为3级以上的,那么这个可能失效了,但是对于一般的网站够用了,而且这个的好处是不用修改phpcms的程序了。
相关热词: phcms





