Товары

Вывести N-рандомных товаров из списка

Вывести N-рандомных товаров из списка

Когда на странице нужно показать несколько случайных товаров из заранее подготовленного набора (например, «promo» — промо-товары, акции, рекомендации). При каждом обновлении страницы выводятся другие товары — это оживляет витрину и помогает посетителю увидеть больше ассортимента.

Smarty
{$p_count = 2}
    {$products_menu = $wa->shop->productSet("promo")}

    {foreach $products_menu as $a => $k}
        {$products_item[] = $k.id}
    {/foreach}

    {foreach $products_item as $a => $k}
        {assign var=random value=1|rand:1000}
        {$products_items[$random] = $a}
        {$products_items[$random] = $k}
    {/foreach}

    {for $i=1 to 1000}
       {foreach $products_items as $s => $k}
            {if $i == $s}
                {$products_out[] = $k}
            {/if}
        {/foreach}
    {/for}

    {$products_sidebar = $wa->shop->products("id/"|cat:implode($products_out|array_slice:0:$p_count, ","))}
    {include file="`$wa_active_theme_path`/list-thumbs.html" products=$products_sidebar}

В Shop-Script для этого можно использовать товарные наборы (productSet) и небольшую логику рандомизации прямо в шаблоне Smarty. Ниже — рабочий вариант, который мы разбирали ранее. Он решает задачу в лоб: получает все товары из набора, перемешивает их через присваивание случайным ключам, затем вытягивает первые N штук и передаёт в шаблон вывода карточек.

Читайте также

Изменение количества рекомендуемых товаров в Shop-Script
Товары19 мая 2024 г.

Изменение количества рекомендуемых товаров в Shop-Script

В интернет-магазине Shop-Script списки рекомендуемых товаров отображаются с помощью нескольких команд.

Товары17 сентября 2018 г.

Вывод бонусных баллов в карточку товара для Shop-Script

Данный код необходимо добавить в файл product.html

Товары20 мая 2018 г.

Удалить избранное, сравнение и просмотренные товары

Добавьте в user.css код

Готовы запустить магазин?

Оставьте email и наша команда свяжется с вами для бесплатной консультации