0

Microsoftコマースサーバー2009を使用しているSharepoint2007インターネットサイトがあります。

「最近追加された商品」または「注目の商品」のリストを表示する必要があります。これらは「すべての」カタログからの製品を表示します。

そのような要件を実装するための最良のアプローチは何ですか?

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 に答える