Встраивание списков товаров в страницы и сайдбар Выполнено


В версии темы 1.4.2.2 появится два файла, которые позволят вам встраивать списки товаров в любые страницы вашего сайта, а также в сайдбар.


Списки товаров

Для того, чтобы встроить список в страницу вам необходимо открыть редактор страницы и вставить в него следующий код:

{if $wa_app == 'shop' && $action !== 'search' && $action !== 'compare'}
    {$products = $wa->shop->productSet("id_списка")}
    {include file="`$wa->shop->themePath('flatty')`list-products-page.html" products=$products}
{/if}


Для того, чтобы встроить список в сайдбар вам необходимо открыть файл sidebar.custom.html (приложение сайт – дизайн - Формула Успеха - шаблоны - файл sidebar.custom.html) или блок с названием flatty.sidebar_custom и вставить в него следующий код:

{if $wa_app == 'shop' && $action !== 'search' && $action !== 'compare'}
    {$products = $wa->shop->productSet("id_списка")}
    {include file="`$wa->shop->themePath('flatty')`list-products-aside.html" products=$products}
{/if}


Просмотренные и избранные товары

Вы можете вывести просмотренные пользователем товары в сайдбаре используя следующий код:

{if $wa_app == 'shop' && $action !== 'search' && $action !== 'compare'}
    {$list = $wa->get('list')}
    {if !$list}
        {$list_p = waRequest::cookie("shop_viewed", '', waRequest::TYPE_STRING)}
    {/if}
    {$products_ = $wa->shop->products('id/'|cat:$list_p)}
    {$products = []}
    {$products = $products_}
    {if $products}
        <div class="asideTitle accentFont">
            Вы смотрели
        </div>
        {include file="`$wa->shop->themePath('flatty')`list-products-aside.html" products=$products}
        <div style="margin-bottom: 40px;"></div>
    {/if}
{/if}

Избранные пользователем товары выводятся следующим кодом:

{if $wa_app == 'shop' && $action !== 'search' && $action !== 'compare'}
    {$list = $wa->get('list')}
    {if !$list}
        {$list_p = waRequest::cookie("shop_fav", '', waRequest::TYPE_STRING)}
    {/if}
    {$products_ = $wa->shop->products('id/'|cat:$list_p)}
    {$products = []}
    {$products = $products_}
    {if $products}
        <div class="asideTitle accentFont">
            Вы смотрели
        </div>
        {include file="`$wa->shop->themePath('flatty')`list-products-aside.html" products=$products}
        <div style="margin-bottom: 40px;"></div>
    {/if}
{/if}


Настройка файлов

Обращаю ваше внимание, что файлы имеют собственные настройки. Настройки темы на данные файлы не действуют. Если вы хотите изменить внешний вид товаров, выводящихся при помощи данных файлов, необходимо их открыть и отредактировать вручную.

Откройте приложение магазин - витрина - дизайн - Формула Успеха - шаблоны – название файла.

4 ответа
  • Якубов Андрей
    5 апреля 2016 14:59

    А как вывести Просмотренные товары в карточке товара ?
    (перед "Рассказать друзьям!")

  • Владимир Сергеев
    Разработчик
    Решение
    5 апреля 2016 16:13

    Это уже из другой оперы. Однако, это можно сделать. Но перед "рассказать друзьям" не получится.
    Можно вывести либо после/перед рекомендуемыми товарами, либо над триггерами (под рассказать друзьям).

    В файл product.html темы приложения Магазин нужно добавить следующий код:

    <div class="related">
        <div class="h3 title-bg accent-font">
            [`Недавно просмотренное`]
            {$list = $wa->get('list')}
            {if !$list}
                {$list_p = waRequest::cookie("shop_viewed", '', waRequest::TYPE_STRING)}
            {/if}
            {$recent_products_ = $wa->shop->products('id/'|cat:$list_p)}
            {$recent_products = []}
            {$recent_products = $recent_products_}
        </div>
        {include file="list-products-mini.html" products=$recent_products ulclass="related-owl"}
    </div>

    Чтобы вывести недавно просмотренное перед триггерами (после "рассказать друзьям") вам нужно найти в файле строку

    {if !empty($theme_settings.show_triggers) && !empty($theme_settings.show_triggers_product_above)}

    и вставить этот код над ней.


    Чтобы вывести под рекомендуемыми товарами, найдите строку

    {if !empty($theme_settings.show_triggers) && !empty($theme_settings.show_triggers_product_bel)}

    и вставьте код над ней.


    Чтобы вывести над рекомендуемыми товарами, нужно найти строки

    <!-- RELATED PRODUCTS -->
    {$upselling = $product->upSelling(12)}

    и вставить код над ними.


    Помните, что при обновлении темы дизайна, данные изменения в коде сотрутся.
    Нужно будет это проделать заново.

    • Владимир Сергеев
      Разработчик
      Решение
      5 апреля 2016 16:15

      Да.. забыл написать. Данный код будет работать, если у вас включено отображение рекомендуемых товаров.

    • Якубов Андрей
      16 апреля 2017 21:28

      А как НЕДАВНО ПРОСМОТРЕННОЕ вывести на главной, в конце страницы и в конце каталога ?
      p.s. вышеприведенный код

      <div class="related">
          <div class="h3 title-bg accent-font">
              [`Недавно просмотренное`]
              {$list = $wa->get('list')}
              {if !$list}
                  {$list_p = waRequest::cookie("shop_viewed", '', waRequest::TYPE_STRING)}
              {/if}
              {$recent_products_ = $wa->shop->products('id/'|cat:$list_p)}
              {$recent_products = []}
              {$recent_products = $recent_products_}
          </div>
          {include file="list-products-mini.html" products=$recent_products ulclass="related-owl"} 

      некорректно выводит.

      • Владимир Сергеев
        Разработчик
        Решение
        17 апреля 2017 14:40

        Попробуйте этот код:

        <div class="related">
            <div class="h3 title-bg accent-font">[`Недавно просмотренное`]</div>
            {$list = $wa->get('list')}
            {if !$list}
                {$list_p = waRequest::cookie("shop_viewed", '', waRequest::TYPE_STRING)}
            {/if}
            {$recent_products_ = $wa->shop->products('id/'|cat:$list_p)}
            {$recent_products = []}
            {$recent_products = $recent_products_}
        
            {include file="list-products-mini.html" products=$recent_products ulclass="related-owl"} 
            <script>
                $(document).ready(function() {
                    $('.related-owl').owlCarousel({
        			    items: 4,
        			    itemsDesktop: [1200, 4],
        			    itemsTablet: [768,2],
        			    itemsMobile: [479,1],
        			    navigation: true,
        			    lazyLoad: true,
        			    lazyEffect: false,
        			    navigationText: ["<i class='fa fa-angle-left'></i>","<i class='fa fa-angle-right'></i>"],
        		    });//owl
                });
            </script>
        </div>
  • Якубов Андрей
    5 апреля 2016 21:03

    Работает. То что нужно. Спасибо!

  • Тюкин Владимир
    19 сентября 2016 12:42

    Добрый день Владимир!

    Подскажите пожалуйста, можно ли вывести в сайдбаре только фото просмотренных товаров? Без цены, названия, кнопок и т.д. И если да, то как сделать их помельче? 3 колонки по 3 фото в ряд?

    • Владимир Сергеев
      Разработчик
      Решение
      19 сентября 2016 16:01

      Теоретически - можно. Но нужно править шаблоны темы. У меня, по правде говоря, сейчас нет на это времени. Если вам это нужно "позарез", напомните мне пожалуйста на следующей неделе на почту - договоримся на платной основе.

Добавить ответ
Чтобы добавить комментарий, зарегистрируйтесь или войдите
Мы получаем и обрабатываем персональные данные посетителей нашего сайта в соответствии с официальной политикой.
Если Вы продолжите использовать сайт, мы будем считать, что Вас это устраивает.
Подписывайтесь и получайте скидки!

Узнавайте первым о скидках и специальных предложениях!