我正在尝试使用来自不同文件夹的子项填充我当前模型上的列表.
在我当前的模型中,我想定义一个General Link类型的字段,在其中我将从Sitecore中选择一个具有不同子项的项.
应使用上述子项填充“公共虚拟IEnumerable列表”.
我已阅读与您如何进行以下类型的查询相关的不同帖子:
[SitecoreQuery(“./* [@ templatename =’Testimonial’]”,IsRelative = true)]
public virtual IEnumerable Children {get;组; }
但这不适用于我的情况,因为我很可能会在不同的领域有这个模板,我不想包含在这里.
有没有人知道这是否可以使用Glass或我应该使用自定义查询来填充列表中的项目子项?
最佳答案 如果使用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; }