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

На товарных страницах есть блок, например:

<h4>текст</h4>

Как скрыть во всех товарах, которые входят в определенную категорию?

Пробовал так:

{if $category.id != 'ID__категории'} <h4>текст</h4> {/if}

Но не работает.

Подскажите пожалуйста!

5 ответов

  • 1
    replicant 1 сентября 2023 22:28 # Решение

    Один из вариантов может выглядеть так

    {$hidden = 0}
    {foreach $product.categories as $c}
    {if $c.id == 'ID_категории_в_которой_скрывать_блок'}
    {$hidden = 1}
    {/if}
    {/foreach}
    
    {if $hidden == 0}<h4>Текст</h4>{/if}

    • +1
      Роман Жуков Роман Жуков 18 сентября 2023 07:08 #

      Добрый.
      Подскажите. Не могу разобраться. Как эту формулу использовать, если нужно скрыть блок из двух категорий?

      Я ввожу так:

      {$hidden = 0}
      {foreach $product.categories as $c}
      {if $c.id == 155}{else if $c.id == 152}{$hidden = 1}
      {/if}
      {/foreach}
      {if $hidden == 0}
      {$wa->block("product_area_facts")}{/if}

      Но в этом случае блок вновь появляется в 1й категории

      А такая функция:

      {$hidden = 0}
      {foreach $product.categories as $c}
      {if $c.id == 155}{else if $c.id == 152}{$hidden = 1}

      {else if $c.id == 152}{$hidden = 1}

      {/if}
      {/foreach}
      {if $hidden == 0}
      {$wa->block("product_area_facts")}{/if}

      Не дает результат
  • 2
    replicant 18 сентября 2023 07:50 #

    {if $c.id == 155 || $c.id == 152} пробовали?

    • +2
      Роман Жуков Роман Жуков 18 сентября 2023 07:57 #

      Огромное вам спасибо)

      • +1
        replicant replicant 18 сентября 2023 13:10 #

        Если категорий будет более 2-3 штук или они будут с определенной частотой меняться время от времени, то рекомендую использовать дополнительный параметр для таких категорий. Это будет лучше, чем постоянно редактировать шаблон, внося туда новые ID.

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

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