0

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

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

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

4

1 回答 1

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;
于 2010-10-07T01:40:48.070 回答