我有一个使用Microsoft Commerce Server 2009的Sharepoint 2007互联网站点。
我需要显示“最近添加的产品”或“特色产品”列表。这些将展示“所有”目录中的产品。
实施此类要求的最佳方法是什么?
答案 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;