首页  >  问答  >  正文

Smarty 计数器变量在父文件中定义,但在子包含文件中递增并使用

<p>我喜欢在父 tpl 文件 (First.tpl) 中定义一个计数器变量,并在子包含文件 (Second.tpl) 中递增并使用它。</p> <p>但是计数器不再增加。</p> <p>首先.tpl:</p> <pre class="brush:php;toolbar:false;">{assign var = "counter" value = 1 scope = "global"} {foreach ...} //iterates at least 100 times {include file='Second.tpl'} {/foreach}</pre> <p>第二个.tpl:</p> <pre class="brush:php;toolbar:false;">{assign var="counter" value = $counter+1} {$counter} //counter does not increase! {if $counter > 10} do-something {/if} // if statement fails always!</pre></p>
P粉523335026P粉523335026435 天前491

全部回复(1)我来回复

  • P粉716228245

    P粉7162282452023-09-02 16:58:17

    这是我用来做类似事情的方法,增加循环内的值,并将该值传递给包含的文件。尝试一下:

    First.tpl

    {assign var="counter" value=0}
    {foreach ...} /* iterates at least 100 times */
        {assign var="counter" value=$counter+1}
        {include file='Second.tpl' counter=$counter}
    {/foreach}

    第二.tpl

    {$counter} /* Check if counter increase */
    
    {if $counter > 10} do-something {/if}

    注意。- 我将 $counter 初始化为零。

    回复
    0
  • 取消回复