3.1-制作強(qiáng)大的通用標(biāo)簽_風(fēng)訊Cms教程
什么是通用標(biāo)簽?
簡單地說,就是標(biāo)簽中調(diào)用標(biāo)簽 如:{FS_{FS_當(dāng)前類目}_熱點(diǎn)}
通用標(biāo)簽有什么用?
利用通用標(biāo)簽可以讓N個(gè)類目共同調(diào)用一個(gè)模板,而顯示的內(nèi)容又各不相同。
它可以大大減少你制作模板的工作,也會(huì)給日常的維護(hù)帶來很大的方便。
通用標(biāo)簽的原理是什么?
現(xiàn)在有多少個(gè)要表現(xiàn)的類就要寫多少個(gè)模板與之對應(yīng)。 比如說:網(wǎng)頁技術(shù)下有ASP、JSP、PHP、JAVA、CGI等等一堆子欄目。每個(gè)子欄目需要寫一個(gè)對應(yīng)的模板和它對應(yīng)。因?yàn)槊總(gè)模板上的“相關(guān)新聞”、“熱點(diǎn)新聞”等都不能用同一個(gè)標(biāo)簽。假如寫一個(gè)可以自動(dòng)得出目前欄目所在的父類的方法,放到一個(gè)公共模板里供標(biāo)簽調(diào)用,無論有多少個(gè)子欄目頁面,只要顯示的欄目一樣,只需要寫二個(gè)模板就夠了。一個(gè)是Class_public.htm,一個(gè)是Detail_public.htm
怎么實(shí)現(xiàn)呢?比如需要在asp,jsp,php,java,cgk幾個(gè)板塊中“熱點(diǎn)新聞”。只需要在Class_public.htm中定義{FS_{FS_當(dāng)前欄目}_熱點(diǎn)新聞},然后去自定義標(biāo)簽里加上{FS_asp_熱點(diǎn)新聞}{FS_jsp_熱點(diǎn)新聞}。。。等就可以了。好象講了半天也沒說清楚~。
PS解釋下:{FS_{FS_當(dāng)前欄目}_熱點(diǎn)}
會(huì)自動(dòng)先把{FS_當(dāng)前欄目}得出來,(當(dāng)前欄目也是自動(dòng)獲取的,不需要指定) 假設(shè)當(dāng)前欄目的名稱是asp,那么就變成了{(lán)FS_asp_熱點(diǎn)}。只需要在標(biāo)簽庫中有{FS_asp_熱點(diǎn)}就可以顯示ASP的熱點(diǎn)新聞了~
實(shí)現(xiàn)通用標(biāo)簽需要改三個(gè)頁面。不要嫌麻煩,它真的會(huì)帶給你前所未有的輕松!
建議先備份下述三個(gè)文件:
Admin\Refresh\RefreshFunction.asp
Admin\Refresh\Function.asp
Admin\Refresh\SelectFunction.asp
一、打開Admin\Refresh\RefreshFunction.asp ,拉到倒數(shù)第二行(也就是%>前面),,把下面的代碼復(fù)制上去
'******************************
'根據(jù)ID得到當(dāng)前所在欄目的名稱
'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")
- 最簡單的欄目切換方法(樣式系列之欄目切換篇2)
- 我也放個(gè)欄目切換代碼,簡簡單單的。
- 搜狐女性頻道幻燈效果(幻燈系列之flash特效篇)
- 有效控制新聞內(nèi)容的圖片的尺寸
- 現(xiàn)提供增加<目錄生成規(guī)則>的方法!
- 風(fēng)訊里面上下篇標(biāo)簽DIV模式下浮動(dòng)的解決方法!
- 風(fēng)訊目錄路徑自由選擇的實(shí)現(xiàn)方法
- 新聞列表讀取內(nèi)容時(shí)去掉html代碼
- 添加文字廣告的解決方案!
- 發(fā)些滾動(dòng)的代碼
- 標(biāo)題下的分隔線在4.0中如何設(shè)置,還有標(biāo)題的行間距
- 隨時(shí)更換模版、廣告等,無須重新生成整站,共享出來供討論
- 相關(guān)鏈接:
- 教程說明:
風(fēng)訊Cms教程-3.1-制作強(qiáng)大的通用標(biāo)簽
。