FoosunCMS-自建标签的方法和使用

来自站长百科
跳转至: 导航、​ 搜索

导航:返回上一页

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


参考来源[ ]