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.UILabelcategory.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

原文地址:https://www.cnblogs.com/qigege/p/5038216.html