最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 网站综合 > CMS系统技巧

Dvbbs V8.2.0 RC1模板驱动机制

日期:01-10    来源:中国设计秀    作者:cnwebshow.com

 T9W中国设计秀

Dvbbs V8.2.0 RC1号称采用全新的模板驱动机制,在其发布之际,我们来看看它的模板驱动机制,也学习学习。在Dvbbs V8.2.0 RC1中标签大体可分成两类,和模板驱动相关的函数主要有四个,下边我们先来说说标签和函数,最后举一个例子实际应用一下。T9W中国设计秀
T9W中国设计秀
一、标签种类T9W中国设计秀
T9W中国设计秀
1.单标签,格式如{$name.value}T9W中国设计秀
2.区域标签,格式如{$name.begin} ... {$name.end}T9W中国设计秀
T9W中国设计秀
二、模板驱动相关主要函数(4个)T9W中国设计秀
T9W中国设计秀
1.TPL_Scan函数T9W中国设计秀
功能:扫描模板,输出非标签的内容,遇到标签就交给TPL_Parse函数处理。T9W中国设计秀
T9W中国设计秀
2.TPL_Parse函数T9W中国设计秀
功能:对标签进行分析,当为单标签时交给TPL_ParseNode函数处理,当为区域标签时分析出标签中的内容再交给TPL_ParseArea函数处理,最终返回新的起始位置给TPL_Scan。T9W中国设计秀
T9W中国设计秀
3.TPL_ParseNode函数T9W中国设计秀
功能:处理(替换)单标签并输出内容。T9W中国设计秀
T9W中国设计秀
4.TPL_ParseArea函数T9W中国设计秀
功能:调用TPL_Scan函数处理区域标签中的内容。T9W中国设计秀
T9W中国设计秀
函数位置说明:TPL_Scan和TPL_Parse函数放在inc/dv_template.inc文件中供其他页面调用,其他页面中必须包含自己的TPL_ParseNode和TPL_ParseArea函数来处理标签,因为不同页面不同模板中的标签不尽相同!T9W中国设计秀
T9W中国设计秀
三、举例应用T9W中国设计秀
<%T9W中国设计秀
'第一部分:我们定义一个变量Template存放模板内容T9W中国设计秀
Dim TemplateT9W中国设计秀
Template = "标题:{$aaa.title}(日期:{$aaa.date})<br/><br/>内容:{$bbslist.begin}不错哈,{$bbb.content}{$bbslist.end}"T9W中国设计秀
T9W中国设计秀
'第二部分:和模板驱动相关的四个重要函数T9W中国设计秀
Sub TPL_Scan(sTemplate)T9W中国设计秀
    Dim iPosLast, iPosCurT9W中国设计秀
    iPosLast    = 1T9W中国设计秀
    While True T9W中国设计秀
        iPosCur    = InStr(iPosLast, sTemplate, "{$")T9W中国设计秀
        If iPosCur>0 ThenT9W中国设计秀
            TPL_Echo    Mid(sTemplate, iPosLast, iPosCur-iPosLast)T9W中国设计秀
            iPosLast    = TPL_Parse(sTemplate, iPosCur+2)T9W中国设计秀
        ElseT9W中国设计秀
            TPL_Echo    Mid(sTemplate, iPosLast)T9W中国设计秀
            Exit Sub  T9W中国设计秀
        End If T9W中国设计秀
     Wend T9W中国设计秀
End Sub T9W中国设计秀
T9W中国设计秀
Function TPL_Parse(sTemplate, iPosBegin)T9W中国设计秀
    Dim iPosCur, sToken, sValue, sTempT9W中国设计秀
    iPosCur        = InStr(iPosBegin, sTemplate, "}")T9W中国设计秀
    sTemp        = Mid(sTemplate,iPosBegin,iPosCur-iPosBegin)T9W中国设计秀
    iPosBegin    = iPosCur+1T9W中国设计秀
    iPosCur        = InStr(sTemp, ".")T9W中国设计秀
    sToken        = Left(sTemp, iPosCur-1)T9W中国设计秀
    sValue        = Mid(sTemp, iPosCur+1)T9W中国设计秀
    Select Case sValueT9W中国设计秀
        Case "begin"T9W中国设计秀
            sTemp            = "{$" & ( sToken & ".end}" )T9W中国设计秀
            iPosCur            = InStr(iPosBegin, sTemplate, sTemp)T9W中国设计秀
            TPL_ParseArea      sToken, Mid(sTemplate, iPosBegin, iPosCur-iPosBegin)T9W中国设计秀
            iPosBegin        = iPosCur+Len(sTemp)T9W中国设计秀
        Case ElseT9W中国设计秀
            TPL_ParseNode sToken, sValueT9W中国设计秀
    End Select T9W中国设计秀
    TPL_Parse    = iPosBeginT9W中国设计秀
End Function T9W中国设计秀
T9W中国设计秀
Sub TPL_ParseNode(sTokenType, sTokenName)T9W中国设计秀
    Select Case sTokenTypeT9W中国设计秀
        Case "aaa"T9W中国设计秀
            '细化给ParseAaaNode处理T9W中国设计秀
            ParseAaaNode sTokenNameT9W中国设计秀
        Case "bbb"T9W中国设计秀
            '细化给ParseBbbNode处理T9W中国设计秀
            ParseBbbNode sTokenNameT9W中国设计秀
    End Select T9W中国设计秀
End Sub T9W中国设计秀
T9W中国设计秀
Sub TPL_ParseArea(sTokenName, sTemplate)T9W中国设计秀
    Select Case sTokenNameT9W中国设计秀
        Case "bbslist"T9W中国设计秀
            For i=0 To 4 '根据实际情况设置循环次数T9W中国设计秀
                TPL_Scan sTemplateT9W中国设计秀
            Next T9W中国设计秀
        Case "other"T9W中国设计秀
             '省略T9W中国设计秀
        Case "other2"T9W中国设计秀
            '省略T9W中国设计秀
    End Select T9W中国设计秀
End Sub T9W中国设计秀
T9W中国设计秀
'第三部分:其他相关函数T9W中国设计秀
TPL_Immediate = TrueT9W中国设计秀
Sub TPL_Echo(sStr)T9W中国设计秀
    If TPL_Immediate ThenT9W中国设计秀
        Response.Write    sStrT9W中国设计秀
    ElseT9W中国设计秀
        TPL_Memo    = TPL_Memo&sStrT9W中国设计秀
    End If T9W中国设计秀
End Sub T9W中国设计秀
T9W中国设计秀
Sub ParseAaaNode(sToken)T9W中国设计秀
    Select Case sTokenT9W中国设计秀
        Case "title"T9W中国设计秀
            Response.Write("这是贴子标题")T9W中国设计秀
        Case "date"T9W中国设计秀
            Response.Write("2008-01-31")T9W中国设计秀
        Case "other"T9W中国设计秀
            '省略T9W中国设计秀
    End SelectT9W中国设计秀
End SubT9W中国设计秀
T9W中国设计秀
Sub ParseBbbNode(sToken)T9W中国设计秀
    Select Case sTokenT9W中国设计秀
        Case "content"T9W中国设计秀
            Response.Write("网页教学网:http://www.webjx.com/")T9W中国设计秀
        Case "other"T9W中国设计秀
            '省略T9W中国设计秀
    End SelectT9W中国设计秀
End SubT9W中国设计秀
T9W中国设计秀
'第四部分:该调用TPL_Scan输出内容了T9W中国设计秀
TPL_Scan TemplateT9W中国设计秀
%>T9W中国设计秀

本文引用地址:/site/article_64002.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明