如何在smarty2模板中停止foreach一个div类

时间:2014-03-26 14:42:02

标签: foreach smarty break smarty2

这是我的代码,我需要永久停止使用最后的ul和tab-content我使用smarty 2我已经尝试了所有内容而我无法解决它。

<div class="tabs">
   <ul class="nav nav-tabs">
    {foreach from=$languages item=v}
       <li>
          <a href="#tab_1">Example</a>
       </li>

   //  --> I Want stop this two

    <ul>
    <div class="tab-content">

   // I Want stop this two <---

       <div class="tab-pane fade" id="tab_1">
           <p>Example text</p>
       </div>
    </div>
   {/foreach}
</div>

我试过这个但是没有用

{$data = [1,2,3,4,5]}
  {foreach $data as $value}
    {if $value == 3}
      {* abort iterating the array *}
          {break}
    {/if}
    {$value}
  {/foreach}
  {*
    prints: 1 2
  *}

1 个答案:

答案 0 :(得分:1)

你应该做的是简单地将PHP中的选定数据(在你的例子中不是5个元素,但是2个元素)分配给Smarty和Smarty中的简单显示数据

Smarty模板文件:

{foreach from=$data item=value}
  {$value}
{/foreach}

在PHP文件中没有:

$smarty->assign('data',array(1,2,3,4,5));

$smarty->assign('data',array(1,2));

但是,如果您无法从PHP(或来自其他系统)更改分配的数据,则可以对所有元素进行简单循环,但仅显示示例2,如下所示:

  {foreach from=$data item=value name=data}
      {if $smarty.foreach.data.iteration le 2}
        {$value}
      {/if}
  {/foreach}