使用商务服务在SharePoint网站中显示“特色产品”或“最近添加的产品”列表

时间:2010-06-24 14:25:11

标签: microsoft-commerce-server

我有一个使用Microsoft Commerce Server 2009的Sharepoint 2007互联网站点。

我需要显示“最近添加的产品”或“特色产品”列表。这些将展示“所有”目录中的产品。

实施此类要求的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

要实现您可以使用 LastModified 字段简单地运行产品搜索,以按日期过滤最近创建的产品。

您需要设置要搜索的目录,因为您说您必须搜索所有目录。

我相信下面的代码段就是您所需要的。请记住,您需要启动并运行全文搜索才能从搜索中获得结果。

var queryBuilder = 
        new CommerceQuery<Product, CommerceCatalogFullTextSearchBuilder>();

queryBuilder.SearchCriteria.FullTextSearchType = CommerceFullTextSearchType.FreeText;
queryBuilder.SearchCriteria.Catalogs.Add("MyCatalogName1");
queryBuilder.SearchCriteria.Catalogs.Add("MyCatalogName2");
queryBuilder.SearchCriteria.Catalogs.Add("MyCatalogName3");
queryBuilder.SearchCriteria.WhereClause = "LastModified > '2010-10-01'";

CommerceQueryOperationResponse response =
    (CommerceQueryOperationResponse)new OperationServiceAgent()
        .ProcessRequest(requestContext, queryBuilder.ToRequest())
        .OperationResponses[0];

List<Product> products = new List<Product>();
if (response.CommerceEntities != null && response.CommerceEntities.Count > 0)
{
    foreach(var p in response.CommerceEntities)
    {
        products.Add((Product)p);
    }
}

return products;