解决dedecms织梦导航栏的“首页”没有没有高亮显示问题

dedecms判断当前页面是否为首页,解决织梦设置首页高亮。


做织梦网站导航栏时,我们一般需要设置当前栏目高亮显示,这个使用currentstyle就能直接实现,


一级导航菜单,一般的获取代码形式:

<div id="nav">
	<ul>
		<li><a href="/">首页 </a></li>
		{dede:channel type='top' row='10' currentstyle="<li><a href='~typelink~' class='hover'><span>~typename~</span></a></li>"}
		<li><a href='[field:typeurl/]'>[field:typename/]</a></li>
		{/dede:channel}
	</ul>
</div>

上述代码中用了currentstyle当前样式,即获得点击焦点时用就它后面的代码样式,剩余其它的就用下面的没有class的li样式,从而实现了高亮显示。

然而,上述代码的“首页”没有高亮显示,怎么让首页也高亮呢?

看代码:

<div id="nav">
	<ul>
		<li>
    		<a {dede:field name="typeid" runphp="yes"}(@me=="")? @me="class='hover'":@me="";{/dede:field} href='{dede:global.cfg_cmsurl/}/'>
    		<span>首页</span></a>
		</li>
		{dede:channel type='top' row='10' currentstyle="<li><a href='~typelink~' class='hover'><span>~typename~</span></a></li>"}
		<li><a href='[field:typeurl/]'>[field:typename/]</a></li>
		{/dede:channel}
	</ul>
</div>

其原理就是判断当前页面是否有typeid,然后跟据判断给出不同的样式;在栏目页或文章页都是有typeid的,首页是没有的,由此判断出是否是首页。

代码分析:

dede:field name="typeid":获取typeid号

runphp="yes":允许运行php脚本,即允许运行后面的判断运算。

(@me=="")? @me="class='hover'":@me="":这是一个三元运算判断,问号?前面的条件成立即用表达式一“class='hover'",若不成立即用表达式二""它是空值。

@me:它代表当前表达式中的变量值的变量名,上述代码中@me就是获取的变量值“typeid”的变量名;

若当前页是首面时获取的typeid的值是空,即@me="",若当前页是其它栏目时typeid是有值的,即“非空”的,

由此就可以判断当前是不是首页了,当@me=""的时候,就给样式加上class='hover',高亮就有了!


作为小白的教材,够细的了吧?

我也是小白!  ^_^

如果文章对您有帮助|有启发|有共鸣|有“爽了”,请随意打赏。您的支持是我的动力和价值的体现。

----------我不是街头卖艺者,但我渴望被打赏,博客要生存下去不容易。
----------我不是酒店服务生,但我渴望被打赏,博主也有妻儿子女一家子人。
----------我不是乞丐叫花子,但我渴望被打赏,渴望被打赏的价值认同感。
----------我不是建筑搬运工,但我渴望被打赏,我是蜜蜂我阅读/挑选/整合/转载/传播。
----------我不是作家或教授,但我渴望被打赏,咱中国人也能主动为知识/为受益而付费。

感谢土豪的打赏!


一码支持:微信/支付宝

打赏qoogle的二维码


分享,也是您对我的热力支持。谢谢!

内容版权声明:除转载分类下的文章来源网络(直转或整合而成),其它皆为本站原创文章。

转载注明出处:http://qoogle.cn/?id=74

发表评论(不用注册哟!)

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。