Вывод БЕСТСЕЛЛЕРОВ в ModX

Всем добрый день, уважаемые коллеги. Прошу Вас по-возможности помочь решить задачу с выводом самого продаваемого товара на сайте. Возможно кто-то из Вас уже встречался и решал эту задачу, поделитесь пожалуйста опытом.
С уважением, Алексей Носкович.❤️
Алексей Носкович
18 июля 2022, 17:08
modx.pro
598
0

Комментарии: 4

Артур Шевченко
18 июля 2022, 23:39
0
Можно у товара поставить галочку Особый и вывести этот товар через msProducts с параметром 'where'=>['Data.favorite' => 1]
    Роман
    19 июля 2022, 09:59
    -1
    Можно конечно написать так, но запрос будет тяжелый и даже на хорошем оборудовании будет тормозит. Возможно загнать в кэш все. А так лучше сделать, как написано выше.
    {'msProducts' | snippet: [
    	'parents' => '0',
    	'tpl' => 'tpl.similarProductsOne',
    	'leftJoin' => '{ "msOrderProduct": { "class": "msOrderProduct","on": "msProduct.id = msOrderProduct.product_id" }}',
    	'select' => '{ "msProduct":"*", "Data": "*", "msOrderProduct": "SUM(msOrderProduct.product_id) as counts"}',
    	'groupby' => 'msOrderProduct.product_id',
    	'sortby' => '{"counts": "desc"}',
    	'limit' => 10
    ]}
      Артур Шевченко
      19 июля 2022, 11:10
      0
      Есть третий вариант, создать у каждого товара свойство number_sales и написать плагин который при оплате заказа будет смотреть список товаров и прибавлять их количество к количеству в поле number_sales. Тогда можно будет сортировку делать по этому полю.
        Алексей Носкович
        20 июля 2022, 22:55
        0
        Благодарю за ответы. Пойдем простым путем, не думаю, что это сильно напряжет заказчика, тем более, что ему виднее, какой товар у него «самый продаваемый».
        Спасибо.?
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          4