c# – Glass mapper从链接路径填充列表

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

在我当前的模型中,我想定义一个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; }
点赞