2016-04-17 16 views
4

現在のモデルのリストに別のフォルダのサブアイテムを設定しようとしています。リンクパスからGlass Mapping Populate List

私の現在のモデルでは、異なるサブアイテムを持つSitecoreからアイテムを選択するGeneral Linkタイプのフィールドを定義したいと思います。 「public virtual IEnumerable List」には、上記のサブアイテムが入力されている必要があります。

[SitecoreQuery( "./*[@@ TEMPLATENAME = 'お客様の声']"、IsRelative =真)]

私はあなたのクエリの次の型を作ることができる方法に関連するさまざまな記事を読みましたパブリック仮想IEnumerable Children {get;セット; }

これは私のケースでは当てはまりません。なぜなら、おそらく私がここに含まれたくない別の領域にこのテンプレートを持っているからです。

これがGlassで可能かどうかは知っていますか?または、カスタムクエリを使用してアイテムのサブアイテムをリストに追加するだけでよいですか?

答えて

1

一般リンクではなく、ドロップリンクまたはdroptreeフィールドを使用する場合は、一般的なFolderモデルを作成して、必要な操作を行うことができます。

namespace MySite.Models 
{ 
    [SitecoreType(AutoMap = true)] 
    public class Folder<T> : GlassBase 
    { 
     [SitecoreChildren] 
     public virtual IEnumerable<T> Children { get; set; } 
    } 
} 

そして、のようなので、別のモデルから、それを使用します。

[SitecoreField("My Link Field")] 
public virtual Folder<ChildModel> MyLinkField { get; set; }