Glass mapper从链接路径填充列表

时间:2016-04-17 16:43:10

标签: c# sitecore glass-mapper

我正在尝试使用来自不同文件夹的子项填充我当前模型上的列表。

在我当前的模型中,我想定义一个General Link类型的字段,我将在其中选择Sitecore中具有不同子项的项。 应使用上述子项填充“公共虚拟IEnumerable列表”。

我已阅读与您如何进行以下类型查询相关的不同帖子:

[SitecoreQuery(“./* [@ templatename ='Testimonial']”,IsRelative = true)]
public virtual IEnumerable Children {get;组; }

但这不适用于我的情况,因为很可能我会在不同的区域使用此模板,我不希望将其包含在此处。

有没有人知道Glass是否可以这样做,或者我应该使用自定义查询用项目子项填充列表?

1 个答案:

答案 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; }