Kentico Ecommerce: получение самых продаваемых категорий

Я использую Kentico 7.0, версию для электронной коммерции.

Я хотел бы создать меню боковой панели, в котором будут показаны самые продаваемые категории продуктов интернет-магазина. Я новичок в kentico, поэтому я ищу правильную терминологию/руководство, чтобы копнуть глубже.

Идеальным подходом, на мой взгляд, была бы возможность добавить поле для категорий, которое используется для фильтрации категорий в меню. Таким образом, я могу либо иметь какое-то задание, которое автоматически обновляет поля в зависимости от продаж, либо предоставить администратору ручное переопределение, чтобы указать, будет ли категория отображаться в меню. Конечно, для указания порядка пунктов меню также потребуется какой-то вес.

Куда мне смотреть?


person thanos panousis    schedule 15.01.2013    source источник


Ответы (2)


Пробовали ли вы использовать веб-часть «Первые N продуктов по продажам», которая доступна? вы можете настроить, из какой части дерева содержимого (продуктов) он должен извлекать данные — в свойстве «Путь» вы также можете использовать выражение пути или макрос, который разрешается динамически, чтобы веб-часть могла отображать разные продукты в разных разделах.

person jurajo    schedule 16.01.2013
comment
Я не заинтересован в том, чтобы показывать самые продаваемые товары. Меня интересуют продающие категории, т.е. показ категорий, содержащих самые продаваемые товары. - person thanos panousis; 21.01.2013

Есть много способов кодирования для Kentico. Я лично нахожу API немного неуклюжим, и довольно часто меня удивляло, что не существовало метода, требующего дополнительных вызовов для получения требуемых результатов. Я чаще использую Kentico API при вводе данных в Kentico. Вытягивая его, я использую следующее.

СОХРАНЕННАЯ ПРОЦЕСС

Напишите хранимую процедуру SQL для получения первых X категорий — GetTop5Categories.

Посмотрите на таблицы COM_*, в частности COM_OrderItem, связывающие OrderItemSKUID обратно с COM_SKU (или View_COM_SKU_Joined, если вам нужно добраться до IA).

Это даст вам самые продаваемые продукты с группировкой, количеством, верхним X и заказом.

Затем вы можете ссылаться на другие таблицы, такие как CMS_Category или CMS_Document (в зависимости от того, как вы настроили свои категории). Преимущество этого заключается в том, что procs компилируются, вы выполняете все свои манипуляции с данными там (это то, на чем специализируется MSSQL!) И вы отправляете обратно только то, что вам нужно в наборе результатов.

ДОМЕН (с использованием EF)

Обычно я создаю отдельный проект библиотеки классов myproject.domain и помещаю туда Entity Framework edmx, сопоставленный с базой данных Kentico. Добавьте процесс в EDMX, затем создайте функцию Import MyProject_GetTop5Categories из недавно импортированного процесса.

ВЕБ

добавьте ссылку на проект домена из вашего веб-проекта и «использование» в верхней части кода программной части элемента управления.

используя myproject.domain;

затем в Page_Load для элемента управления:

...

if(!IsPostBack)
{

var entities = new MyProjectModelContainer();
var list = entities.MyProject_GetTop5Categories().ToList();
StringBuilder sb = new StringBuilder("<ul>");
foreach(var category in list)
{
   sb.Append("<li><a href='"+category.Link+"'>" + category.Name + "</a></li>");
}
sb.Append("<ul>");

listPlaceHolder = sb.ToString();

}

написано от руки, так что, вероятно, опечатка или две там :)

ХТН

person Ben E G    schedule 08.04.2013