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



 <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>

图片描述

程序员 php thinkphp 模板预编译 模板引擎

沉默的乌鸦 10 years, 2 months ago

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

家具屋辉夜 answered 10 years, 2 months ago

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

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

感冒的バカ answered 10 years, 2 months ago

Your Answer