Дублирование блока "PRODUCTS" на главной с разным содержимым

Блок "PRODUCTS", наравне с другими блоками, является необязательным содержимым главной страницы. Это просто списки товаров. В настройках можно задать до 5 разных списков и названий для них. Но иногда может возникнуть потребность в выводе нескольких таких блоков с разным содержимым вперемешку с другими блоками. Например: "PRODUCTS", "POPULAR-CATEGORIES", "PRODUCTS"... В теме предусмотрен лайфхак для подобных ситуаций. Напомню, что все блоки и их последовательность задается в шаблоне home.html. И блок "PRODUCTS" там подключается следующим образом:

{include file="home.products.html" inline}{* products *}

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

{include file="home.products.html" use_slider=true title="Заголовок списка" products=$wa->shop->productSet("bestsellers") inline}

Параметры и их значения:

  • use_slider - необязательный параметр. Определяет использование слайдера-прокрутки. Если параметр отсутствует, то будет использоваться значение из настроек темы для этого блока.
    true - включить слайдер. Будет отображаться только 1 ряд товаров с прокруткой.
    false - отключить слайдер. Товары будут отображаться так же, как и внутри категории.
  • title - необязательный параметр. Определяет заголовок блока. Если параметр отсутствует, будет использован заголовок по умолчанию: "РЕКОМЕНДУЕМ ПОСМОТРЕТЬ"
  • products - обязательный параметр. Определяет сам список отображаемых товаров. В примере выше будет использован список "bestsellers". Можете задать любой.
1 ответ
a
Евгений Леман
programmer
#
8 апреля 2019 18:39

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

$wa->shop->products("category/100500",null,10) - выводит 10 товаров из категории с ID 100500.

$wa->shop->products("id/1,2,3,4,5") - выводит товары с ID 1, 2, 3, 4 и 5.

$wa->shop->products("search/query=style",null,10) - 10 товаров по поисковому запросу "style".

$wa->shop->products("search/tag=style",null,10) - 10 товаров с тэгом "style".

$wa->shop->products("type/2",null,10) - формирует список из 10 товаров, ID "типа товаров" которых равен 2.


Возможностей тут на самом деле гораздо больше. Можно и на основе характеристик сделать подборку(например все товары, где есть красный цвет). Но это уже требует неких знаний. И сразу оговорюсь, что если у вас и есть вопросы по моему комментарию, то задавать их следует не нам. К теме это отношения не имеет. Подобные вопросы лучше писать на форуме вебасист. Да и то не факт, что ответят, т.к. этот функционал был сделан для разработчиков. А у разработчиков тут вопросов не возникнет :)

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