2016-11-08 14 views
1

は、GlassModelを使用してアイテムをレンダリングするためのSitecoreレンダリングに関する提案が必要です。Sitecore glassmapperレンダリングからデータソースを取得する方法

私はページがあり、多くのレンダリングがあり、各レンダリングにはデータソースが関連付けられています。

私は、以下の文がデータソース項目ではなく、現在のコンテキストを与えることを知っています。

var context = new SitecoreContext(); 
      Model = context.GetCurrentItem<HomePage>(); 

クエリを解決する最適な方法は何ですか?私はthis記事を出しました。しかし、私はIoC(ウィンザーキャッスル)を使用しているので、実際にはその方法には納得できません。また、それぞれのメソッドに対してUnitテストケースを作成する必要があります。私はこれらのオブジェクトを後で模擬しなければならないかもしれません。私はクラスを使用せずにインターフェイスを使用するアプローチを探しています。

あなたのお手伝いをお待ちしております。

答えて

2

コントローラがGlassControllerから派生している場合は、GetDataSourceItem<I..>()を使用できます。それはあなたにデータソースを与えるでしょう。

+0

これはまさに私が探していたものです。ありがとう@ Gatogordo – PaRsH

0

おコントローラがGlassControllerに由来する場合Gatogorodoの答え

に追加またはあなたがGlassViewである場合は、データ・ソースを取得するためにthis.DatasourceItemを使用することができます。

this.GetDataSourceItem<Model>()は、アイテムテンプレートの基本テンプレートの1つであることが望ましいモデルを取得します。

関連する問題