Вывод БЕСТСЕЛЛЕРОВ в ModX
Всем добрый день, уважаемые коллеги. Прошу Вас по-возможности помочь решить задачу с выводом самого продаваемого товара на сайте. Возможно кто-то из Вас уже встречался и решал эту задачу, поделитесь пожалуйста опытом.
С уважением, Алексей Носкович.❤️
С уважением, Алексей Носкович.❤️
Комментарии: 4
Можно у товара поставить галочку Особый и вывести этот товар через msProducts с параметром 'where'=>['Data.favorite' => 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
]}
Есть третий вариант, создать у каждого товара свойство number_sales и написать плагин который при оплате заказа будет смотреть список товаров и прибавлять их количество к количеству в поле number_sales. Тогда можно будет сортировку делать по этому полю.
Благодарю за ответы. Пойдем простым путем, не думаю, что это сильно напряжет заказчика, тем более, что ему виднее, какой товар у него «самый продаваемый».
Спасибо.?
Спасибо.?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.