1

次のような ContentItem から分類用語の完全なリストを取得しようとしています。

var product = Services.ContentManager.Get<ContentItem>(33);

foreach (var term in product.TermsPart.Terms.Where(x => x.Field == "MyIndex"))
{
    ...
}

誰かが私を助けることができますか?

dynamic を使用してこれを行うことは可能です。

dynamic product = Services.ContentManager.Get<ContentItem>(33);

foreach (var term in product.MyIndex.Terms)
{
    ...
}

しかし、正しい構文が見つかりません!

4

1 に答える 1

3

これを行う最善の方法は、ITaxonomyService ( http://orchardtaxonomies.codeplex.com/SourceControl/latest#Services/ITaxonomyService.cs )を使用することです。

クラスのコンストラクター(コントローラー、依存関係など)に注入します。

  //Note that I didn't try this code
    public SomeController(ITaxonomyService taxonomyService){
         var product = Services.ContentManager.Get<ContentItem>(33);
         var terms = taxonomyService.GetTermsForContentItem(product.Id); //Or just 33

   }
于 2013-11-20T19:11:43.010 に答える