aspcms使用心得:修改当前位置导航链接样式

使用aspcms做了个站,感觉非常不错,现就修改位置导航链接样式的方法总结一下。

在最近做模板的时候,需要修改一下位置导航链接的样式,就是像“当前位置:首页 > 产品展示 > 实体产品”这样的导航的链接样式,在aspcms中,链接样式是全局定义的,导航位置是通过

“当前位置: <a href=”{aspcms:sitepath}{aspcms:languagepath}” >首页</a>{aspcms:position} &gt; [position:link]{/aspcms:position}”

这行代码引用的,其中

“<a href=”{aspcms:sitepath}{aspcms:languagepath}” >首页</a>”

部分是显示a标记的,可以直接用类似

“<a href=”{aspcms:sitepath}{aspcms:languagepath}” class=”navlink” >首页</a>”

的方式进行CSS样式定义,但导航链接部分通过

“{aspcms:position} &gt; [position:link]{/aspcms:position}”

这段代码引用,其中没有显示的a标记,所以无法在模板上进行CSS样式的自定义。

经过研究源代码,找到在aspcms根目录中“inc/AspCms_MainClass.asp”这个文件中的“Function getTopType(SortID)”函数来生成导航链接的,所以只要将这个函数中相关部分加一个样式定义,就可以自由控制导航链接的样式了,相关代码如下:aspcms使用心得:修改当前位置导航链接样式Function getTopType(SortID)

Dim tempStr,rsObj

set rsObj = conn.Exec(“select * from {prefix}Sort where SortID=”&SortID&””,”r1″)

tempStr=tempStr&”<a href=”””&getSortLink(rsObj(“sortType”),rsObj(“sortID”),rsObj(“sortUrl”),rsObj(“sortFolder”),rsObj(“sortFileName”),rsObj(“GroupID”),rsObj(“Exclusive”))&”””>”&rsObj(“SortName”)&”</a>,”

if rsObj(“ParentID”)<>0 then tempStr=tempStr&getTopType(rsObj(“ParentID”))

rsObj.close : set rsObj=nothing

getTopType=tempStr

End Function

我们只要将

tempStr=tempStr&”<a href=”””&getSortLink(rsObj(“sortType”),rsObj(“sortID”),rsObj(“sortUrl”),rsObj(“sortFolder”),rsObj(“sortFileName”),rsObj(“GroupID”),rsObj(“Exclusive”))&”””>”&rsObj(“SortName”)&”</a>,”

这一行中加一个class样式,我们加在“<a href”中间,如“<a class=’navlink’ href=””””,这样在模板中以定义类名为navlink的a样式文件,就可以控制导航链接的样式了。

如果我们不定义navlink类,则默认使用全局样式,您可以选择在不同的位置定义navlink类,以达到控制不同范围的导航链接样式。

希望本文对您有所帮助。

原创文章,作者:斑斓网站长,如若转载,请注明出处:https://www.argb.net/aspcms-use-of-experience-to-modify-the-current-position-of-the-navigation-links-style.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论列表(1条)

  • 猫猫在线
    猫猫在线 2012 年 01 月 04 日 上午 11:22

    不得不说。你真历害。我也遇到这问题了。谢谢