鉴于需要保留官方原本的标签解析.所以不要修改原本的东西.可以自己复制一个函数.修改后.进行标签解析.
其他解析函数标签同理.
测试版本: V8.2
方法如下:
1:找到:Kesion.Label.SearchCls.asp
2:找到函数:
'取得总搜索
'-----------------------------------------------
'冉:找到全站搜索了.
Function GetSearch()
这个函数就是标签解析类中的函数. 把这个整个函数: Function GetSearch() ....End Function 全复制粘贴到后面.
改个名字: 我用的是 Function soso() .....End Function.
3:把包含在 Function soso() ....End Function 里面的 变量:GetSearch全部改成soso.以便返回函数结果对应.不然会提示 错误的赋值.
形式如下:
'====================原函数===============
Function GetSearch()
GetSearch = "<form id=""SearchForm"" name=""SearchForm"" method=""Get"" action=""" & KS.Setting(3) &"plus/search/"">" & vbCrLf
GetSearch = GetSearch & "<div class=""searchsd"">" & vbCrLf
GetSearch = GetSearch & " <input name=""key"" type=""text"" class=""textbox"" value=""请输入关键字""this.select();""/><span>" & vbCrLf
GetSearch = GetSearch & "<select style=""width:80px;"" name=""m"">" & vbCrLf
GetSearch = GetSearch & "<option value=""0"">全部</option>" & vbCrLf
If not IsObject(Application(KS.SiteSN&"_ChannelConfig")) Then KS.LoadChannelConfig
Dim ModelXML,Node
Set ModelXML=Application(KS.SiteSN&"_ChannelConfig")
For Each Node In ModelXML.DocumentElement.SelectNodes("channel")
if Node.SelectSingleNode("@ks21").text="1" and Node.SelectSingleNode("@ks0").text<>"6" and Node.SelectSingleNode("@ks0").text<>"9" and Node.SelectSingleNode("@ks0").text<>"10" Then
GetSearch = GetSearch & "<option value="" & """>" & Node.SelectSingleNode("@ks3").text & "</option>" & vbCrLf
End If
Next
GetSearch = GetSearch & "</select>" & vbCrLf
GetSearch = GetSearch & "<input type=""image"" class=""inputButton"" name=""Submit1"" src=""" & KS.GetDomain & "images/btn.gif"" align=""absmiddle"" />" & vbCrLf
GetSearch = GetSearch & "</span>" & vbCrLf
GetSearch = GetSearch & "</div>" & vbCrLf
GetSearch = GetSearch & "</form>" & vbCrLf
End Function
'===================原函数结束================
'===================自己增加的函数=============
Function soso()
soso = "<form id=""SearchForm"" name=""SearchForm"" method=""Get"" action=""" & KS.Setting(3) &"plus/search/"">" & vbCrLf
soso = soso & "<div class=""searchsd"">" & vbCrLf
soso = soso & " <input name=""key"" type=""text"" class=""textbox"" value=""请输入关键字""this.select();""/><span>" & vbCrLf
'GetSearch = GetSearch & "<select style=""width:80px;"" name=""m"">" & vbCrLf
' GetSearch = GetSearch & "<option value=""0"">全部</option>" & vbCrLf
' If not IsObject(Application(KS.SiteSN&"_ChannelConfig")) Then KS.LoadChannelConfig
' Dim ModelXML,Node
' Set ModelXML=Application(KS.SiteSN&"_ChannelConfig")
' For Each Node In ModelXML.DocumentElement.SelectNodes("channel")
' if Node.SelectSingleNode("@ks21").text="1" and Node.SelectSingleNode("@ks0").text<>"6" and Node.SelectSingleNode("@ks0").text<>"9" and Node.SelectSingleNode("@ks0").text<>"10" Then
' GetSearch = GetSearch & "<option value="" & """>" & Node.SelectSingleNode("@ks3").text & "</option>" & vbCrLf
' End If
' Next
'
' GetSearch = GetSearch & "</select>" & vbCrLf
soso = soso & "<input type=""image"" class=""inputButton"" name=""Submit1"" src=""" & KS.GetDomain & "images/btn.gif"" align=""absmiddle"" />" & vbCrLf
soso = soso & "</span>" & vbCrLf
soso = soso & "</div>" & vbCrLf
soso = soso & "</form>" & vbCrLf
End Function
'====================结束===================
其中我注释掉了GetSearch 可以不用修改成 soso ,注释掉的部分就是 下拉框.其他的修改成soso就行了.
第二大步骤:
前面我们已经准备好了函数 : Function soso() . 接下来我们判断解析替换.
找到:'替换网站的所有搜索
Function Run(byVal tag)
tag=Lcase(tag)
if tag="getsearchbydate" then
Run=GetSearchByDate()
elseif tag="getsearch" then
Run=GetSearch()
行号一般为: line: 23行
然后修改为:
'替换网站的所有搜索
Function Run(byVal tag)
tag=Lcase(tag)
if tag="getsearchbydate" then
Run=GetSearchByDate()
elseif tag="getsearch" then
Run=GetSearch()
'注意:这里开始增加.
'冉:增加soso的函数调用.
elseif tag="soso" then
Run=soso()
'注意:这里为结束,所有添加成功.
else
最后.我们就可以在模板里 调用诸如: {$soso}
就可以实现自己添加解析标签了.
如果不懂得.可以问我. QQ:28729161。电话: 13628211114,15123450806。
小记: 科讯小林 林文仲, 不错饿.呵呵.高手. 写的类感觉太复杂啦.