订阅/程序下载
首页 > 5ucms改进 > 正文
实现5UCMS IF语句的嵌套 最小修改方法
作者:Qiuss 来源: 日期:2010/4/14 21:36:55 浏览量:648(滞后) 人气:LOADING...(实时) 【

网上找了一些关于5ucms if判断标签的帖子,出来的内容基本上一样,但是那个代码有错误。于是修正了一下:

5uCMS模板设计优秀,简练灵活,但IF标签不支持嵌套,有些场合不方便。本站给出一个简单的解决方案,以最小的改动实现IF的嵌套。

将 inc\class_template.asp 458行的 Parser_IF 函数整体注释掉,改成下面两个函数 

Public Function Parser_IF()      
Dim PreLB      
PreLB = ""     
Parser_IF2(PreLB)      
End Function     

' 判断标签      
Public Function Parser_IF2(ByVal PreLB)      
On Error Resume Next     
Dim Matches, Match,TestIF,TestVal,TestTrue,TestFalse      
Dim NewPreLB      
Reg.Pattern = "{" & PreLB & "If:(.+?)}([\s\S]*?){" & PreLB & "End If}"     
Set Matches = Reg.Execute(Content)      
For Each Match In Matches      
TestVal=Match.SubMatches(1)      
If Instr(LCase(TestVal), "{" & PreLB & "else}")>0 Then     
TestVal=Replace(TestVal, "{" & PreLB & "else}", "{" & PreLB & "else}",1,-1,1):TestTrue=Split(TestVal, "{" & PreLB & "else}")(0):TestFalse=Split(TestVal, "{" & PreLB & "else}")(1)      
Else     
TestTrue=TestVal:TestFalse=""     
End If     
Execute ("If " & replace(Match.SubMatches(0),"'","""") & " Then TestIf = True Else TestIf = False")      
If TestIF Then Content = Replace(Content, Match.Value, TestTrue) Else Content = Replace(Content, Match.Value, TestFalse)      
If Err Then Response.Write "<font color=red>" & Lang_Parser_IF_Error & "[" & Match.SubMatches(0) & "]" & Err.Description & "</font>": Err.Clear: Response.End     
Next     
NewPreLB = PreLB & "-"     
If RegExists("{" & NewPreLB & "If:(.+?)}([\s\S]*?){" & NewPreLB & "End If}", Content) Then Call Parser_IF2(NewPreLB)  ' 多次调用      
End Function

前台模板用法

{if: XXXX}
  {-if: XXXX}
  {-else}
    .....
  {-End if}
{else}
  .....
{end if}

即在嵌套的IF语句前加“-”,同理两级嵌套加两个,以此类推,层次足够你用哦

本站推荐:5ucms模板 5ucms插件 微信/QQ:3876307        [复制给好友] [打印] [关闭] [返回] [顶部]
上一篇:让5UCMS蜘蛛程序识别更多的搜索引擎
下一篇:最小修改实现5UCMS IF语句的嵌套
本站声明:本网站所载文章等内容,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权及其它问题,请在30日内与本网联系(Email:3876307#qq.com),我们将在第一时间删除内容。若原创内容转载请注明出处。
常见问题: 什么是路径码? 如有问题,请在下方评论提问或加入5ucmsQQ群
实现5UCMS IF语句的嵌套 最小修改方法的关键词:5UCMS IF语句嵌套
评论信息
相关分类
本周热门
本月热门
关于我们 - 版权/免责 申明 - 建站服务 - 网站地图 - 稿件投递 - 联系我们 - 5ucms
Copyright © 2008-2015 www.5ucms.org 微信/QQ:3876307