我正在尝试使用来自不同文件夹的子项填充我当前模型上的列表。
在我当前的模型中,我想定义一个General Link类型的字段,我将在其中选择Sitecore中具有不同子项的项。 应使用上述子项填充“公共虚拟IEnumerable列表”。
我已阅读与您如何进行以下类型查询相关的不同帖子:
[SitecoreQuery(“./* [@ templatename ='Testimonial']”,IsRelative = true)]
public virtual IEnumerable Children {get;组; }
但这不适用于我的情况,因为很可能我会在不同的区域使用此模板,我不希望将其包含在此处。
有没有人知道Glass是否可以这样做,或者我应该使用自定义查询用项目子项填充列表?
答案 0 :(得分:2)
如果使用droplink或droptree字段而不是General Link,则可以通过创建通用文件夹模型来执行所需的操作。
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; }