Условие в зависимости от значения характеристики Есть решение

Помогите написать условие для вывода текста в зависимости от значения характеристики (бренда). Например, если у товара бренд указан "ХХХ" (его id 18), то выводим текст, если нет, то не выводим.

5 ответов

  • 2

    В карточке товара?

    {if !empty($product.features.brand) && ($product.features.brand == 18)}

    <h2>Товар бренда ХХХ</h2>

    {/if}

  • 1
    Sergey 19 декабря 2019 12:36 #

    Я делаю блоком и потом блок выведу в карточку и в список

    • +2

      Для списков сложнее.

      Там предварительно нужно вызвать {$features = $wa->shop->features($products)} до цикла..

      и в самом цикле иногда встречается {foreach $products as $product}, а иногда {foreach $products as $p}

      Так что в списке лучше лезть, если понимаете, что делаете.

  • 1
    Sergey 19 декабря 2019 12:38 #

    я правильно понимаю, что id характеристики можно посмотреть в Настройки - Типы и характеристики товаров при наведении курсора?

    • +1

      Нет. Вам нужно не ID характеристики, а ID значения характеристики.

      Можно подсмотреть при фильтрации в адресной строке браузера.

      Или кодом прямо

      {if !empty($product.features.brand)}

      <h2>Товар с ID бренда {$product.features.brand}</h2>

      {/if}

      • +1

        Извините, код не сработает... что-то я не проснулся.. {$product.features.brand} тут уже значение.

        А значит проверять надо вот так

        {if !empty($product.features.brand) && ($product.features.brand == 'ХХХ')}

        <h2>Товар бренда ХХХ</h2>

        {/if}

  • 1
    Sergey 19 декабря 2019 12:59 # Решение

    ))) да, я уже заметил кавычки. Спасибо! Все получилось!

  • 1
    Sergey 17 июня 2021 17:57 #

    Всем привет! Можете все таки подсказать как вывести текст в списке товаров в зависимости от значения характеристики (бренда)?

    Сейчас использую такой код в списке товаров, но при большом количестве $p.features.brand выходит ошибка 

    Stack overflow in template parser

    {if $p.features.brand == 'Idemitsu'}<div class="badge">Текст{/if}

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

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