1

这是我的代码,我需要永久停止最后一个 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
  *}
4

1 回答 1

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}
于 2014-07-07T06:26:55.607 回答