首页 >后端开发 >php教程 >程序员 - Thinkphp 模板引擎 if 嵌套层级过多的问题,嵌套3级就报错,上完整代码

程序员 - Thinkphp 模板引擎 if 嵌套层级过多的问题,嵌套3级就报错,上完整代码

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原创
2016-06-06 20:42:461300浏览

<code><if condition="$detail.order.payment.app_rpc_id eq '-1' ">
       <if condition="$detail.order.status eq 'dead' "> 
             已作废
       <elseif  condition="$detail.order.status eq 'finish' "/>
           已完成
       <else/>
          <if condition="$detail.order.pay_status eq '1' "> 
                已支付
           <elseif condition="$detail.order.pay_status eq '2'"/>
                 已付款至担保方
           <elseif condition="$detail.order.pay_status eq '3'"/>
                  部分付款
            <elseif condition="$detail.order.pay_status eq '4'"/>
                   部分退款
             <else/>
                   全额退款
              </if>   
            </if>
     <else/>


     </if>

</code>

程序员 - Thinkphp 模板引擎 if 嵌套层级过多的问题,嵌套3级就报错,上完整代码

回复内容:

<code><if condition="$detail.order.payment.app_rpc_id eq '-1' ">
       <if condition="$detail.order.status eq 'dead' "> 
             已作废
       <elseif  condition="$detail.order.status eq 'finish' "/>
           已完成
       <else/>
          <if condition="$detail.order.pay_status eq '1' "> 
                已支付
           <elseif condition="$detail.order.pay_status eq '2'"/>
                 已付款至担保方
           <elseif condition="$detail.order.pay_status eq '3'"/>
                  部分付款
            <elseif condition="$detail.order.pay_status eq '4'"/>
                   部分退款
             <else/>
                   全额退款
              </if>   
            </if>
     <else/>


     </if>

</code>

程序员 - Thinkphp 模板引擎 if 嵌套层级过多的问题,嵌套3级就报错,上完整代码

https://github.com/liu21st/thinkphp/blob/master/ThinkPHP/Library/Think/Template/TagLib/Cx.class.php#L24

官方的Cx的模板库定义了if的默认嵌套层数,修改这个层数可以支持更多的嵌套格式

最大允许3级,超过请用switch

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn