CreateLive CMS
设为首页 | 加入收藏 | 站点地图
网站首页 新闻公告 创力产品 下载中心 模版中心 同盟合作 工作机会 关于创力 交流论坛
官方技术论坛
创力V4.0演示站
CreateLive CMS帮助中心
创力CMS产品免费试用
产品中心/Products
CMS系统功能比较
CMS系统产品报价
CMS系统模版定制
CMS系统程序定制
联系我们/Contact Us

Q Q:3315263
Q Q:20398691
电话:010-89313898 87029232
传真:010-89313898
手机:(0)13401189669
Mail:info@aspoo.cn(#改成@)

 位置: 创力网 >> 帮助系统 >> 常见问题 >> 正文
举个例说明模板、标签处理过程
作者:xiaoluo 来源:本站原创 文章录入:梅傲风

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


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:自己附加的函数标签,还要在相应的分类频道的函数包里增加相应的函数,这是不可缺少的



发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
关于本站 | 友情站点 | 联系方式 | 汇款方式 | 留言反馈

北京今日学易科技有限公司 版权所有
电话:010-89313898 传真:010-89313898
地址:北京市海淀区中关村南大衔9#理工科技大厦2020室
Copyright© 2004-2008 Aspoo.Com All Rights Reserved. 粤ICP备05015897号