DTcms 导航选中样式以及简化方法

时间:2023-03-09 19:30:21
DTcms 导航选中样式以及简化方法

(建议使用方法2,执行效率略高)

一般用于导航不能循环输出的情况。

可以循环输出导航的情况直接用if判断即可。

首页模版中顶部,自定义c#代码。

<%set string channel="index" %>

或者

<%csharp%>
string channel="index";//注意这段代码可通用,因为首页是不存在channel这个变量的
<%/csharp%>
#navigation a.thisNav{color:#ff547f;background:#000;}

方法1、

_header.html模版中,

 <li><a href="<%linkurl("index")%>" title="{site.name}" class="<%=getYS(channel,"index")%>">首页</a></li>
<li onmouseover="displaySubMenu(this)" onmouseout="hideSubMenu(this)"><a href="<%linkurl("dingz-index")%>" title="韩式半永久定妆" class="<%=getYS(channel,"dingz")%>">韩式定妆</a></li>

Web.UI\Label\category.cs中,自定义标签

 /// <summary>
/// 自定义:导航当前栏目样式选中
/// </summary>
/// <param name="channel"></param>
/// <param name="str"></param>
/// <returns></returns>
protected string getYS(string channel, string str)
{
string YS="";
if (channel == str)
YS = "thisNav";
return YS;
}

方法2、

<li><a href="<%linkurl("index")%>" title="{site.name}" class="<%if(channel=="index")%>thisNav<%/if %>">首页</a></li>
<li onmouseover="displaySubMenu(this)" onmouseout="hideSubMenu(this)"><a href="<%linkurl("dingz-index")%>" title="韩式半永久定妆" class="<%if(channel=="dingz")%>thisNav<%/if %>">韩式定妆</a>

方法2不用自定义标签

最终效果见网站

www.vikeycn.com

DTcms 导航选中样式以及简化方法