Как можно прекратить foreach класс div в шаблоне smarty2

Это мой код, и мне нужно прекратить foreach навсегда последний 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 ответ

Вам нужно просто назначить выбранные данные в 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}
Другие вопросы по тегам