2016-10-10 14 views
4

現在のアイテムレベルですべてのアイテムを取得しようとしています。私はガラスのマッパーSitecoreQuery同じものを使用しています。現在のアイテムを取得できますが、すべての兄弟をマップすることはできません。Sitecore Glass Mapperすべての兄弟を取得

public class TestModel:BaseModel 
{ 
    [SitecoreQuery("../*")] 
    public virtual IEnumerable<Model1> Siblings { get; set; } 
} 

[SitecoreType(AutoMap = true)] 
public class Model1 : BaseModel 
{ 

} 

基本モデルにはすべての必須フィールドがあり、正しくマッピングされています。私は実際には現在のアイテムのレベルですべてのアイテムを表示しようとしています。

+1

の試みをより多くの情報を見つけることができます:' '[SitecoreQuery( "../*"、真= IsRelative)]:' IsRelative = true'をそのような –

+0

あなたはすべてのアイテムを同じレベルまたは兄弟のみ(つまり現在のアイテムを除く)で取得しようとしていますか? – jammykam

+1

最後のIsRelativeは重要ですが、Glass.Mapperに、クラスが表す項目を基準にしてクエリを実行するように指示します。また、TestModelクラスの上に '[SitecoreType(AutoMap = true)]'を追加してください。 –

答えて

0

SitecoreQueryに2つ目のパラメータを追加します。そのようなIsRelative = trueを:

[SitecoreQuery("../*", IsRelative = true)] 
public virtual IEnumerable<Model1> Siblings { get; set; } 

ではなく、ツリーのルートから始まるのアイテムレベルでのクエリを開始するためにサイトコアに指示します。

あなたはSitecoreQuery` `に2つ目のパラメータを追加するOfficial Sitecore Glass Mapper Tutorial

関連する問題