Промокарточки ограничить кол-во вывода Есть решение

Как в Промокарточках ограничить кол-во вывода штук ?

К примеру мне на ПК версии нужно 3 шт , а на мобиле 4 шт ?

Уже пробовал  менять в скобках кода разные цифры {if $promocards = $wa->shop->promos()} 

{if $promocards = $wa->shop->promos()}
            <div class="discont">
                <span class="n_logo">
                    <i class="fas fa-tags"></i>
                </span>
                <div class="h3" style="float: left;">Лучший дисконт </div>
                <div style="clear: both"></div>
                <div class="promo">
                    <section class="promos">
                        <ul>
                            {foreach $promocards as $promo}
                                <li id="s-promo-{$promo.id}">
                                    <a href="{$promo.link|escape}">
                                        <img src="{$promo.image}" title="{$promo.title}" alt="{$promo.title}">
                                        <div class="background-color-layer"></div>
                                        {if !empty($promo.title)}<h5 style="color: {$promo.color};">{$promo.title|escape}</h5>{/if}
                                        {if !empty($promo.body)}<p style="color: {$promo.color};">{$promo.body|escape}</p>{/if}
                                        {if !empty($promo.countdown_datetime) && time() <= strtotime($promo.countdown_datetime)}
                                            <div class="countdown">
                                                <span class="js-promo-countdown"
                                                      data-start="{date('Y-m-d H:i:s')}"
                                                      data-end="{$promo.countdown_datetime}">
                                                </span>
                                            </div>
                                        {/if}
                                    </a>
                                </li>
                            {/foreach}
                        </ul>
                    </section>
                </div>
            </div>
        {/if}

2 ответа

  • 0
    DES Партнер-разработчик 3 ноября 2018 19:45 # Решение

    Например, замените код: 

    {foreach $promocards as $promo}

    на:

    {$i = 0}
    {$is_mobile = $wa->isMobile()}
    {foreach $promocards as $promo}
        {if ($is_mobile && $i === 3) || (!$is_mobile && $i === 4)}
            {break}
        {/if}
        {$i += $i}

    Не тестировал, но должно сработать...

  • 1
    Сергей Олегович 9 ноября 2018 18:38 #

    Спасибо помогло.  только н основном сайте сделал 

    {if ($is_mobile && $i === 3) || (!$is_mobile && $i === 3)}
    
    

    а на мобиле 

    {if ($is_mobile && $i === 4) || (!$is_mobile && $i === 4)}

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

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