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

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

WBOY
WBOYOriginal
2016-06-06 20:42:461213Durchsuche

<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' "></elseif>
           已完成
       <else></else>
          <if condition="$detail.order.pay_status eq '1' "> 
                已支付
           <elseif condition="$detail.order.pay_status eq '2'"></elseif>
                 已付款至担保方
           <elseif condition="$detail.order.pay_status eq '3'"></elseif>
                  部分付款
            <elseif condition="$detail.order.pay_status eq '4'"></elseif>
                   部分退款
             <else></else>
                   全额退款
              </if>   
            </if>
     <else></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' "></elseif>
           已完成
       <else></else>
          <if condition="$detail.order.pay_status eq '1' "> 
                已支付
           <elseif condition="$detail.order.pay_status eq '2'"></elseif>
                 已付款至担保方
           <elseif condition="$detail.order.pay_status eq '3'"></elseif>
                  部分付款
            <elseif condition="$detail.order.pay_status eq '4'"></elseif>
                   部分退款
             <else></else>
                   全额退款
              </if>   
            </if>
     <else></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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn