WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機
KesionCMS-函數(shù)標(biāo)簽輕松調(diào)用你想要的字段
導(dǎo)航:返回上一頁
KesionCMS-函數(shù)標(biāo)簽輕松調(diào)用你想要的字段
Kesioncms V6發(fā)布了一段時間了,使用過V6的朋友都知道科汛的系統(tǒng)函數(shù)標(biāo)簽已經(jīng)是非常靈活了,更讓人心動的是她的自定義樣式輸出(類似sql標(biāo)簽的循環(huán)體),但官方在考慮到整體性能的前提下,默認(rèn)情況下只能用一些常見的字段
默認(rèn)的可用字段如下:
但這些可用字段有可能不能完全滿足所有用戶的需求,比如一些用戶想調(diào)用文章的作者,來源等,那就實現(xiàn)不了了
沒關(guān)系,如果有這個需求又不想用sql標(biāo)簽,只需要簡單一步,就可以實現(xiàn)隨意調(diào)用你想到的字段
V6開始的標(biāo)簽解釋引擎已全面升級,擴展性極簡單.科汛的系統(tǒng)函數(shù)標(biāo)簽解釋文件主要在kesion.label.functioncls.asp這個文件中,那么請你用DW打開ks_cls/kesion.label.functioncls.asp
找到構(gòu)造sql查詢語句的通用函數(shù),大約在200多行吧
加載模型通用查詢字段
Public Sub LoadField(ByVal ModelID, ByVal PrintType,ByVal PicStyle,ByVal ShowPicFlag,ByRef FieldStr,ByRef TableName,ByRef Param) If ModelID="0" Then TableName = "[KS_ItemInfo]" FieldStr = "I.ChannelID,I.InfoID as ID,I.Title,I.Tid,I.Intro,I.PhotoUrl, I.AddDate,I.Inputer,I.Popular,I.Fname,I.Hits" If PrintType=2 or (instr(LabelStyle," {@photourl}")>0 and PrintType>2) Then Param = Param & " And I.PhotoUrl<>''" Else TableName=KS.C_S(ModelID,2) Select Case KS.C_S(ModelID,6) Case 1 FieldStr = "I.ID,I.Title,I.Tid, I.Inputer,I.Fname,I.AddDate,I.Popular,I.Hits" FieldStr=FieldStr & ", I.TitleType,I.TitleFontColor,I.TitleFontType" If PrintType>=2 Then FieldStr=FieldStr & ", I.PhotoUrl,I.Intro" : If PrintType=2 or (instr(LabelStyle,"{@photourl}")>0 and PrintType>2) Then Param = Param & " And I.PicNews=1" If PrintType>=3 Then FieldStr=FieldStr & ",I.ReadPoint" Case 2 FieldStr = "I.ID,I.Title,I.Tid,I.Inputer, I.Fname,I.AddDate,I.Popular,I.Hits" If PrintType>=2 Then FieldStr=FieldStr & ", I.PhotoUrl,I.PictureContent As Intro" If PrintType>=3 Then FieldStr=FieldStr & ",I.ReadPoint" Case 3 FieldStr = "I.ID,I.Title,I.Tid,I.Inputer, I.Fname,I.AddDate,I.Popular,I.Hits" If PrintType>=2 Then FieldStr=FieldStr & ", I.PhotoUrl,I.DownContent As Intro,I.DownSize,I.Rank" If PrintType>=3 Then FieldStr=FieldStr & ", I.ReadPoint" Case 4 FieldStr = "I.ID,I.Title,I.Tid,I.Inputer, I.Fname,I.AddDate,I.Popular,I.Hits" If PrintType>=2 Then FieldStr=FieldStr & ", I.PhotoUrl,I.FlashContent As Intro,I.Author,I.Rank" If PrintType>=3 Then FieldStr=FieldStr & ",I.ReadPoint" Case 5 FieldStr = "I.ID,I.Title,I.Tid,I.Inputer, I.Fname,I.AddDate,I.Popular,I.Hits" If PrintType>=2 Then FieldStr=FieldStr & ", I.PhotoUrl,I.ProIntro As Intro,I.BigPhoto, I.Price_market,I.Price_member, I.Price,I.Price_Original,I.Discount,I.Promodel,I.Point" If KS.ChkClng(ParamNode.getAttribute( "producttype"))<>0 Then Param =Param & " And I.ProductType="&KS.ChkClng(ParamNode.getAttribute("producttype")) Case 7 FieldStr = "I.ID,I.Title,I.Tid, I.Inputer,I.Fname,I.AddDate,I.Popular,I.Hits" If PrintType>=2 Then FieldStr=FieldStr & ",I.PhotoUrl,I.MovieContent As Intro" If PrintType>=3 Or PicStyle=13 Or PicStyle=14 Or PicStyle=15 Then FieldStr=FieldStr & ",I.MovieAct,I.MovieDY,I.MovieDQ,I.MovieTime,I.MovieYY,I.ReadPoint,I.Rank" If PrintType=2 And PicStyle=15 Then FieldStr=FieldStr & ",I.MovieDy" Case 8 FieldStr = "I.ID,I.Title,I.Tid, I.Inputer,I.Fname,I.AddDate,I.Popular,I.Hits,I.TypeID" If PrintType>=2 Then FieldStr=FieldStr & ",I.PhotoUrl,I.GQContent As Intro" If PrintType>=3 Or PicStyle=16 Or PicStyle=17 Then FieldStr=FieldStr & ",I.ValidDate,I.ContactMan,I.Tel,I.Address,I.Province,I.City,I.CompanyName" If KS.ChkClng(ParamNode.getAttribute("typeid"))<>0 Then Param =Param & " And I.TypeID="&KS. ChkClng(ParamNode.getAttribute("typeid")) Case Else FieldStr = "I.ID,I.Title,I.Tid,I. PhotoUrl,I.AddDate,I.Inputer,I.Popular,I.Fname,I.Hits" If PrintType=2 or (instr(LabelStyle," {@photourl}")>0 and PrintType>2) Then Param = Param & " And I.PhotoUrl<>''" End Select If PrintType=4 Then FieldStr=FieldStr & GetDiyFieldStr(ModelID) End If End Sub
如果看懂代碼的用戶,相信很容易看出來是根據(jù)模型構(gòu)造的查詢字段,這里我們就以文章模型為例,找到如下代碼
Case 1 FieldStr = "I.ID,I.Title,I.Tid,I. Inputer,I.Fname,I.AddDate,I.Popular,I.Hits,I.Author" FieldStr=FieldStr & ", I.TitleType,I.TitleFontColor,I.TitleFontType" If PrintType>=2 Then FieldStr=FieldStr & ",I.PhotoUrl,I.Intro" : If PrintType=2 or (instr(LabelStyle,"{@photourl}")>0 and PrintType>2) Then Param = Param & " And I.PicNews=1" If PrintType>=3 Then FieldStr=FieldStr & ",I.ReadPoint"
其中紅色的,i.author 是我加上的,就這么簡單一步,你的系統(tǒng)函數(shù)標(biāo)簽的自定義樣式里就已經(jīng)直接用{@author}這樣的標(biāo)簽調(diào)用出文章的作者了,其它模型類似,具體想要調(diào)用的字段可以打開ks_article表查看