Показать или скрыть блок по условию

Что из списка ниже можно сделать штатными возможностями платформы, и, если возможно, то как?

Например, чтобы блок показывался только:

  1. Для гостей (неавторизованных пользователей).
  2. В категории где отсутствуют товары.
  3. Для впервые посетивших сайт.

Например, чтобы блок скрыт если:

  1. Пользователь из определённой группы покупателей.
  2. Пользователь является продавцом.

Если не сложно, пожалуйста, приведите примеры Кода, кто что знает.

1 лайк

1 . Показывать гостям

В design\themes\responsive\templates\blocks\wrappers\ создать файл ifnotuserlogin.tpl
с содержимым, например, таким

{if !$auth.user_id}
{if $content|trim}
<div class="{$sidebox_wrapper|default:"ty-sidebox"}{if isset($hide_wrapper)} cm-hidden-wrapper{/if}{if $hide_wrapper} hidden{/if}{if $block.user_class} {$block.user_class}{/if}{if $content_alignment == "RIGHT"} ty-float-right{elseif $content_alignment == "LEFT"} ty-float-left{/if}">
<div class="ty-sidebox__body" style="padding-top:0px!important;" id="sidebox_{$block.block_id}">{$content|default:"&nbsp;" nofilter}</div>
</div>
{/if}
{/if}

В настройках нужного блока выбрать оболочку ifnotuserlogin

2 . В категории отсутствуют товары

Там же создать файл ifnotproducts.tpl
Содержимое то же, но заменить {if !$auth.user_id} на {if !$products}

В настройках нужного блока выбрать оболочку ifnotproducts

3 лайка

3 . Для впервые посетивших сайт

{if !'first_visit'|fn_get_cookie}
    {'first_visit'|fn_set_cookie:true}
    ... тут контент....
{/if}

(!) Не тестировано

2 лайка