Как проверить относится ли товар к списку? Есть решение

Подскажите как в шабоне product.html проверить относится ли товар к определенному списку?

{if товар принадлежит списку "Промоакции"}

вывести такой-то блок

{/if}


2 ответа

  • 1
    Алексей Webasyst 7 июня 2021 17:26 # Решение

    Примерно вот так:

    {$set = $wa->shop->productSet('promo')|array_keys}
    {if in_array($product.id, $set)}
    Товар в списке promo.
    {/if}

    • +1

      насколько это оптимизированный код? быстро отработает, если в списке promo 5000 товаров?

      • +1
        Алексей Алексей Webasyst 8 июня 2021 11:06 #

        Вы, как разработчик, можете проверить и приложить результаты ваших изысканий по скорости работы этого кода.
        1. Товары в списке кешируются на 20 минут, поэтому простая проверка наличия товара не будет сильно нагружать генерацию каждой страницы.
        2. Если у вас 5000 товаров в списке promo, то у вас организационно что-то не так.
        3. В идеале конечно проверять на уровне php, но это не всегда доступно.

  • 1
    chikurov-seo Партнер-разработчик 7 июня 2021 22:07 # Решение

    Я обычно в таких ситуациях пользуюсь плагином "Автоматическое управление товарами" - настраиваю правило: "раз в сутки ночью проверить наличие товара в списке X и если товар в списке - присвоить доп.параметру "Y" значение 1, иначе - 0". И затем на странице товара просто обращаюсь к доп. параметру. 

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

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