【发布时间】:2017-02-17 21:50:19
【问题描述】:
我的 CMS 中有以下设置
在 ContactUsPageSettings 下我有一些项目正在使用名为 ContactUsQuestionsOption 的模板,然后在下面我有一些项目正在使用名为 ContactUsSubQuestionOption 的模板。
我想在一个下拉列表中返回所有的 ContactUsQuestionsOption,我已经设法做到了。我遇到的问题是有第二个下拉列表,它只返回所选项目的子项。查看上图,如果选择了 Faculty Research and Publications,我希望第二个下拉菜单显示 BSR、Faculty Inquiries 和 ResearchSupportEnquiries。
我有一个看起来像这样的视图模型:
[SitecoreType(AutoMap = true)]
public class ContactUsPageSettingsViewModel : ContactUsPageSettings
{
[SitecoreQuery(".//*[@@templatekey='contactusquestionsoption']", IsLazy = false, IsRelative = true)]
public IEnumerable<ContactUsQuestionsOption> QuestionsOptionItems { get; set; }
[SitecoreQuery("./child::*", IsLazy = true, IsRelative = true)]
public virtual IEnumerable<ContactUsPageSettingsViewModel> Children { get; set; }
}
还有一个像这样的第二个视图模型:
[SitecoreType(AutoMap = true)] 公共类 QuestionsViewModel : ContactUsQuestionsOption { [SitecoreQuery(".//*[@@templatekey='contactussubquestionsoption']", IsLazy = false, IsRelative = true)] 公共虚拟 IEnumerable QuestionsOptionItems { get;放; }
}
但这似乎不是答案。有什么想法吗?
【问题讨论】:
-
您能否说明哪些项目使用了问题选项,哪些项目使用了子问题模板?
-
我已更新我的问题以澄清我的问题。
-
看着 GlassMapper 我想我需要公开父 guid。这是正确的想法吗?
标签: sitecore sitecore8 glass-mapper