Smarty - цикл foreach 10 раз и остановка

13
задан Nicholas K 20 September 2018 в 18:48
поделиться

3 ответа

Вы можете использовать index и функцию break :

{foreach from=$entries key=i item=topic name=foo}
  {if $smarty.foreach.foo.index == 10}
    {break}
  {/if}
  {if $topic.topic_style == question}
    <li>
      <a href="topic.php?id={$topic.id}">{$topic.title}</a>
    </li>
  {/if}
{/foreach}

Функция прерывания описана здесь:

Разрыв в foreach Smarty / Dwoo

30
ответ дан 1 December 2019 в 17:15
поделиться

Используйте индекс :

{foreach from=$entries key=i item=topic name=foo}
  {if $smarty.foreach.foo.index < 10}
    {if $topic.topic_style == question}
      <li>
        <a href="topic.php?id={$topic.id}">{$topic.title}</a>
      </li>
    {/if}
  {/if}
{/foreach}
8
ответ дан 1 December 2019 в 17:15
поделиться

Если вы не хотите писать умный плагин, вы также можете сделать это:

{foreach from=$entries key=i item=topic name=foo} 
  {if $smarty.foreach.foo.index == 10} 
       {php}break;{/php}    
  {/if} 
  {if $topic.topic_style == question} 
    <li> 
      <a href="topic.php?id={$topic.id}">{$topic.title}</a> 
    </li> 
  {/if} 
{/foreach} 
2
ответ дан 1 December 2019 в 17:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: