3.1-制作強大的通用標簽_風訊Cms教程
什么是通用標簽?
簡單地說,就是標簽中調用標簽 如:{FS_{FS_當前類目}_熱點}
通用標簽有什么用?
利用通用標簽可以讓N個類目共同調用一個模板,而顯示的內容又各不相同。
它可以大大減少你制作模板的工作,也會給日常的維護帶來很大的方便。
通用標簽的原理是什么?
現在有多少個要表現的類就要寫多少個模板與之對應。 比如說:網頁技術下有ASP、JSP、PHP、JAVA、CGI等等一堆子欄目。每個子欄目需要寫一個對應的模板和它對應。因為每個模板上的“相關新聞”、“熱點新聞”等都不能用同一個標簽。假如寫一個可以自動得出目前欄目所在的父類的方法,放到一個公共模板里供標簽調用,無論有多少個子欄目頁面,只要顯示的欄目一樣,只需要寫二個模板就夠了。一個是Class_public.htm,一個是Detail_public.htm
怎么實現呢?比如需要在asp,jsp,php,java,cgk幾個板塊中“熱點新聞”。只需要在Class_public.htm中定義{FS_{FS_當前欄目}_熱點新聞},然后去自定義標簽里加上{FS_asp_熱點新聞}{FS_jsp_熱點新聞}。。。等就可以了。好象講了半天也沒說清楚~。
PS解釋下:{FS_{FS_當前欄目}_熱點}
會自動先把{FS_當前欄目}得出來,(當前欄目也是自動獲取的,不需要指定) 假設當前欄目的名稱是asp,那么就變成了{FS_asp_熱點}。只需要在標簽庫中有{FS_asp_熱點}就可以顯示ASP的熱點新聞了~
實現通用標簽需要改三個頁面。不要嫌麻煩,它真的會帶給你前所未有的輕松!
建議先備份下述三個文件:
Admin\Refresh\RefreshFunction.asp
Admin\Refresh\Function.asp
Admin\Refresh\SelectFunction.asp
一、打開Admin\Refresh\RefreshFunction.asp ,拉到倒數第二行(也就是%>前面),,把下面的代碼復制上去
'******************************
'根據ID得到當前所在欄目的名稱
'author:lino
'Start
'*****************************
Function ypren()
Select Case RefreshType
Case "Class"
ypren = GetClassNameById(RefreshID)
Case "News"
ypren = GetNewsClassNameById(RefreshID)
Case "Special"
ypren = GetSpecialClassNameById(RefreshID)
Case "DownLoad"
ypren = GetDownloadClassNameById(RefreshID)
Case Else
ypren = ""
End Select
End Function
'欄目名稱
Function GetClassNameById(ClassID)
Dim SqlClass,RsClassObj
if ClassID = "" then Exit Function
'**********假如是3.1版,把下行NewsClass改成FS_NewsClass
Set RsClassObj = Conn.Execute("Select ClassCName from NewsClass where ClassID='" & ClassID & "'")
if Not RsClassObj.Eof then
GetClassNameById=RsClassObj("ClassCName")
end if
RsClassObj.Close
Set RsClassObj = Nothing
End Function
'新聞所在的類目
Function GetNewsClassNameById(NewsID)
Dim SqlClass,RsClassObj
if NewsID = "" then Exit Function
'**********假如是3.1版,把下行News改成FS_News
Set RsClassObj = Conn.Execute("Select ClassID from News where NewsID='" & NewsID & "' ")
if Not RsClassObj.Eof then
GetNewsClassNameById=RsClassObj("ClassID")
- 相關鏈接:
- 教程說明:
風訊Cms教程-3.1-制作強大的通用標簽
。