FoosunCMS-自建标签的方法和使用
导航:返回上一页
1.在RefreshFunciton.asp文件里建立一个想要的函数,需要传递值的在后边跟上,比如Function YourFunction(str1,str2,str3),最好是带上值哪怕没有用,否则在首页用时会被屏蔽掉
2. 然后到SelectFunction.asp文件里加上个Case "YourFunction" 这是因为程序已经将标签转换到传递值的数组里了,所以这时候的函数名称就变成了ParaArray(0)了,然后可以设置GetLableContent=YourFunction(ParaArray(1),ParaArray(2),ParaArray(3)) 即可
3. 最后我们在使用的时候调用标签应该写为{%=YourFunction("str1","str2","str3")%}
我写这个的目的主要是通过此方法将一些FoosunCMS没有自带的标签自己写,然后自由运用
比如我们要显示如下样式的标签
A级分类标题
A-1标题
A-2标题
A-3标题
因为FoosunCMS没有给我们提供标签,而这个我们又调用了非常多的次数,或需要在很多个模板里用(FoosunCMS某些标签只能在特定的模板页里使用,如子栏目),这样怎么办呢,就要使用我的办法,来自己建立自己的标签,然后就可以建立起更为丰富的标签库,让编辑模版更事半功倍了。
发一个我自己写的标签:在任何模版页调用某大栏目中的所有小栏目名称和链接并设置其样式 [文件:RefreshFunciton.asp]
Function ShowNClass(ParentID,Show_Type, ListAmount,ListSum,cellpadding) if Show_Type=2 then ShowNClass="<table width=100% border=0 cellspacing=0 cellpadding="&cellpadding&">" else ShowNClass="<table width=100% border=0 cellspacing=0 cellpadding="&cellpadding&"><tr>" end if Dim TempRs,i,l,linkStr if ListSum<>"" then Set TempRs = Conn.Execute("Select Top "&ListSum&" ParentID,ClassCName, ClassEName,AddTime from NewsClass where ParentID = '" & ParentID & "' order by AddTime desc ") else Set TempRs = Conn.Execute("Select ParentID,ClassCName, ClassEName,AddTime from NewsClass where ParentID = '" & ParentID & "' order by AddTime desc ") end if i=1 do while Not TempRs.Eof '################### 把链接赋值给一个变量 linkStr ################### linkStr="<div align=center><a href='Get/"& TempRs("ClassEName")&"' class=font_12_unline>"& TempRs("ClassCName") &"</a></div>" '################### 把链接赋值给一个变量 linkStr ################### if Show_Type=2 then ShowNClass=ShowNClass &" <tr><td class=font_3d>"& linkStr &"</td></tr>" elseif i mod ListAmount=0 then ShowNClass=ShowNClass & " <td class=font_3d>"& linkStr &"</td></tr>" elseif i<>1 and i-1 mod ListAmount=0 then ShowNClass=ShowNClass &" <tr><td class=font_3d>"& linkStr &"</td>" else ShowNClass=ShowNClass &" <td class=font_3d>"& linkStr &"</td>" end if TempRs.MoveNext i=i+1 loop TempRs.Close Set TempRs = Nothing if Show_Type=2 then ShowNClass=ShowNClass & "</table>" else for l=1 to (ListAmount - (i mod ListAmount)) if l=1 then ShowNClass=ShowNClass & " <td><div align=center><a href=#> <img src=http://localhost/images/icon_wytg.gif border=0></a></div></td>" else ShowNClass=ShowNClass & "<td></td>" end if next ShowNClass=ShowNClass & "</tr></table>" end if End Function [文件:SelectFunction.asp] Case "shownclass" '显示子栏目传递值分别为 大类的ParentID、样式(横竖) GetLableContent = ShowNClass(ParaArray(1), ParaArray(2),ParaArray(3),ParaArray
(4),ParaArray(5))
[文件:模版页]或建立一个标签名称用来调用,共5个传递值,
第一个是大栏目的栏目ID,
第2个是横竖样式,
第3个是每行显示的列,
第4个是显示的最大数即数据库中的TOP X,
第5个是表格的填充
<!-- 调用管理资讯子[[导航]].Begin -->{%=ShowNClass("05101812252898957","1","6","","2")%}
<!-- 调用管理资讯子导航.End -->