Вывод шаблона в зависимости от класса элемента Есть решение

Добрый день, прошу помощи в написании условия.

Есть два тега span которым в зависимости от активного присваивается класс selected.

<span class="list selected"><span>

<span class="table"></span>

Мне нужно условие при котором в зависимости от того какому классу присвоено "selected" подгружало разные шаблоны.

{if selected присвоено span.list}

{include file="list.html"}

{else}

{incude file="table.html"}

{/if}

9 ответов

  • 2
    Михаил Ушенин 20 января 2015 08:03 # Решение

    Если вы пытаетесь сделать переключатель режима просмотра товаров "список/таблица", то нужно при смене класса изменять странице URL (например, добавлять параметр вида ?view_mode=table), чтобы у каждого режима был свой URL (тогда можно будет отправить кому-то ссылку, по которой витрина откроется именно в нужном виде).

    А значение такого параметра в шаблоне темы дизайна можно проверять с помощью метода {$wa->get('view_mode')}:

    {if $wa->get('view_mode') == 'table'}
    ...
    {else}
    ...
    {/if}

  • 1
    Денис 20 января 2015 08:28 #

    Простите, за глупый вопрос. А как присвоить этот параметр странице?

    • +1
      Михаил Ушенин Михаил Ушенин 20 января 2015 08:46 #

      Нужно запросить страницу с этим параметром в URL, например: http://www.domain.ru/category/?view_mode=table

      • +1
        Денис Денис 20 января 2015 09:02 #

        спасибо большое


        • +1
          Михаил Ушенин Михаил Ушенин 20 января 2015 09:47 #

          Если хочется, можно попробовать использовать более "красивые" адреса для разных режимов просмотра товаров в категориях, например, вида http://www.domain.ru/category/#/table/, но для этого потребуется дополнительное программирование на JavaScript — получится примерно как в бекенде Shop-Script: /webasyst/shop/?action=products#/products/view=table.

          • +1
            Михаил Ушенин Михаил Ушенин 20 января 2015 09:48 #

            Только в этом случае при смене URL нужно будет обновлять содержимое страницы средствами AJAX.

      • +1
        Денис Денис 20 января 2015 09:02 #

        спасибо большое


  • 1
    Денис 20 января 2015 08:28 #

    Простите, за глупый вопрос. А как присвоить этот параметр странице?

  • 1
    Денис 20 января 2015 08:28 #

    Простите, за глупый вопрос. А как присвоить этот параметр странице?

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

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