Как ограничить количество выводимых подкатегорий? Есть решение

Здравствуйте, Уважаемые специалисты!

В шаблоне category.html есть код, который выводит подкатегории одной строкой.

{if $category.subcategories}<ul class="sub-links-inline">{foreach $category.subcategories as $sc}
<li><a href="{$sc.url}">{$sc.name|escape}</a></li>{/foreach}</ul>{/if}


Внимание вопрос!

Как ограничить количество выводимых подкатегорий, например 4-мя? И можно ли сделать так, чтобы эти подкатегории выводились  рандомно, например последние 4?

Заранее благодарю за ответ!

4 ответа

  • 2
    Koin Партнер-разработчик 29 марта 2019 11:37 # Решение

    Делать проверку какая итерация идет и потом не выводить.

    Для рандомной штуки, сначала массив категорий зарандомить.

    {if $category.subcategories}
    {$subCategRandom = shuffle($category.subcategories)}}
    <ul class="sub-links-inline">
        {foreach $subCategRandom as $sc}
            {if $sc@iteration < 5}
                <li><a href="{$sc.url}">{$sc.name|escape}</a></li>
            {/if}
        {/foreach}
    </ul>
    {/if}

    • +1
      Pipio Pipio 29 марта 2019 12:15 #

      Код с $subCategRandom не работает, а вот этот первый вариант рабочий.

      {if $category.subcategories}
      <ul class="sub-links-inline">
      {foreach $category.subcategories as $sc}
      {if $sc@iteration < 5}
      <li><a href="{$sc.url}">{$sc.name|escape}</a></li>
      {/if}
      {/foreach}
      </ul>
      {/if}
      • +2

        да обманул малость, вот так будет работать, проверил у себя

        {if $category.subcategories}
        {$subCategRandom = shuffle($category.subcategories)}
            {if $subCategRandom}
                <ul class="sub-links-inline">
                    {foreach $category.subcategories as $sc}
                        {if $sc@iteration < 5}
                            <li><a href="{$sc.url}">{$sc.name|escape}</a></li>
                        {/if}
                    {/foreach}
                </ul>
            {/if}
        {/if}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите