Как разместить список товаров в Хабе? Есть решение
Есть ли возможность разместить список товаров на страницах тем, созданных в приложении Хаб?
Появилась необходимость в темах приложения Хаб (созданы по шаблону topic.page.html) разместить различные списки товаров. Цель - выводить на страницах тем разные списки товаров в зависимости от указанного в настройках темы дополнительного параметра (дополнительный параметр можно прописать в разделе Мета)
Примечание: нашёл код, который работает для страниц приложения Магазин, но в темах приложения Хаб он не работает:
{if $page.status == 'special'}
<div class="special_offer">
...
</div> {/if}
Спасибо!
8 ответов
Вот эта статья должна помочь https://www.shop-script.ru/help/24/embed-product-set/
Спасибо!
На часть вопросов статья даёт ответ. Это помогает вывести заданный список товаров на ВСЕХ страницах тем. Как правильно прописать код условия, чтобы желаемый список товаров выводился только на тех страницах, где прописан дополнительный параметр special=true ?
Конструкция {if $page.status == 'special'} ... {/if} на страницах тем приложения Хаб не работает
Возможно так:
если читать подсказки:
Спасибо за ответ.
Не работает данная конструкция теме приложения Хаб.
Информация с этой страницы тоже не помогла https://www.webasyst.ru/developers/docs/features/p...
Тема по коду с условием вывода ещё актуальна
Небольшое дополнение. Стоит тема Купить Просто. Задан вопрос разработчику, как добиться корректного отображения слайдера на страницах тем приложения Хаб.
На основе статьи https://www.shop-script.ru/help/24/embed-product-set/ был сформирован следующий код:
<!-- slider -->
{if $wa->shop}
{*insert product slider*}
{$s_products = $wa->shop->products('set/special')}
{if $s_products && count($s_products)}
<div class="product-slider">
<div class="product-slider-name">Рекомендуем!</div>
{include file="`$wa->shop->themePath('buysimply')`product-slider.html" sliderId="special" s_products=$s_products}
</div>
{/if}
{/if}
Код выводит список товаров на странице темы, но неправильно отображается.
И проблема, как правильно прописать код с условием вывода, тоже ещё не решена.
Для темы Купить Просто основная проблема с выводом слайдера на вышеуказанных страницах приложения Хаб решилась при поддержке автора темы Игоря Колмакова следующим образом:
1. В файле topic.page.html в нужном месте вставляем код:
<!-- slider -->
{if $wa->shop}
{*insert product slider*}
{$s_products = $wa->shop->products('set/gemor')}
{if $s_products && count($s_products)}
<div class="product-slider">
<div class="product-slider-name">Рекомендуем!</div>
{include file="`$wa->shop->themePath('buysimply')`product-slider.html" sliderId="gemor" s_products=$s_products}
</div>
{/if}
{/if}
где gemor - название Вашего списка (надеюсь, у Вас название будет другое)
2. В файле buysimply.hub.css добавляем стили для слайдера:
.product-slider .jcarousel-prev-disabled i, .product-slider .jcarousel-next-disabled i { color: #a8a8a8 !important; }
3. В конце файла head.html в приложении Хаб добавляем скрипты для слайдера:
<script type="text/javascript" src="{$wa_active_theme_url|replace:'/hub/':'/shop/'}jquery.jcarousel.min.js?v2.9.0"></script>
<script type="text/javascript">
$(document).ready(function(){
$('ul[class^="product-slider-"]').jcarousel({
/*
wrap: 'circular',
auto: 1,
*/
scroll: 1,
buttonNextHTML: '<div><i class="icon-angle-right"></i></div>',
buttonPrevHTML: '<div><i class="icon-angle-left"></i></div>'
});
});
</script>
Теперь осталось решить вопрос, как правильно прописать код для вывода списка товаров (в данном случае слайдера товаров) на определённой странице с использованием дополнительного параметра страницы.
Нужна помощь, вышеуказанные советы не помогли.
С божьей помощью, а также с подсказками автора темы Купить Просто Игоря Колмакова, разобрался с условием вывода списка товаров на странице темы в зависимости от присвоенного параметра custom parameters:
1. Для тем, созданных с функциональностью "Страница", то есть на основе шаблона topic.page.html в приложении Хаб:
{/if}
Параметр прописывается во вкладке Мета в поле custom parameters следующим образом: special=true или special=1
2. Для страниц, созданных на основе файла шаблона page.html приложения Хаб действует другой код, о чём писал в том числе Александр выше. К тому же дополнительный параметр на таких страницах прописывается в другом месте:
{if !empty($page.special)} Ваш код {/if}
Всем спасибо!