创力网站管理系统-举个例说明模板、标签处理过程

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

导航:返回上一页

创力网站管理系统-举个例说明模板、标签处理过程

在代码里我们常见到这两句话

PageData_Photo_Index

我们从这里开始处理过程

pageData_photo_index 这等同于 call pagedata_photo_index() 这个函数在inc\cl_pagedata.asp中

主要的过程

TempStr=Template.html(0) 这是获得PHOTO[[模板]]里界面风格中第一组模板

另外一句是这句

Response.write Cl.ReplaceAllFlag(Cl.Head & TempStr & Cl.Bottom)

这里cl.head cl.bottom是在主程序CL类里处理的 inc\cls_clsMain.asp 有些适应在类的标签在其它地方是不能用的。cl.head & tempstr & cl.bottom 拼装成一个完整的页面(这里面包括各种标签)

Public Function ReplaceAllFlag(strContent)

strContent=ReplaceLabel(strContent)

strContent=ReplacePublicFlag(strContent)

。。。。 



ReplaceAllFlag = Replace(ReplaceAllFlag,Match.Value,GetLabelContent(TempStr))
。。。。



ReplaceAllFlag=ReplacePublicFlag(ReplaceAllFlag)

End Function

这是replaceallflag函数,用到了正则表达式。

  • 第一句 strContent=ReplaceLabel(strContent) 处理自定义标签的过程
  • 第二句  strContent=ReplacePublicFlag(strContent) 处理公共标签,这个函数在inc\cl_getlabel.asp里,头一个就是ReplaceAllFlag = Replace(ReplaceAllFlag,Match.Value,GetLabelContent(TempStr))这句里关键是getlabelContent()这个函数,在inc\cl_getlabel.asp中假定标签是$showphotopath(1)}, 传到getlabelcontent时 tempstr="showphotopath,1"在getlabelcontent中传进来的tempstr分解成ParaArray = Split(LabelStr,",") 参数,以逗号分隔,因此paraarray(0)的值就应该是标签名,这涉及到下面的动作case ""

处理过程

所以,当标签未在此处理过程中,是会出现标签错误的

处理过程需要注意的是

  1. 标签中参数的个数,参数的属性一定要与函数一一对应,不要搞错
  2. 如果调用是cl_clsmain主类里的函数或变量,一定要写成cl.变量名

PS:自己附加的函数标签,还要在相应的分类频道的函数包里增加相应的函数,这是不可缺少的


参考来源[ ]