【问题标题】:Glass mapper populate list from Link path玻璃映射器从链接路径填充列表
【发布时间】:2016-04-17 16:43:09
【问题描述】:

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

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

我已经阅读了有关如何进行以下类型查询的不同帖子:

[SitecoreQuery("./*[@@templatename='Testimonial']", IsRelative = true)]
公共虚拟 IEnumerable Children { get;放; }

但这不适用于我的情况,因为我很可能会将这个模板放在我不想包含在此处的不同区域中。

有谁知道 Glass 是否可以做到这一点,还是我应该只使用自定义查询来使用项目子项填充列表?

【问题讨论】:

    标签: c# sitecore glass-mapper


    【解决方案1】:

    如果您使用 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; }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多