Maison  >  Article  >  développement back-end  >  程序员 - Thinkphp 模板引擎 if 嵌套层级过多的问题,嵌套3级就报错,上完整代码

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

WBOY
WBOYoriginal
2016-06-06 20:42:461213parcourir

<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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn