首页 > 解决方案 > Sitecore 根据父页面的父页面过滤页面

问题描述

我的页面结构

-职业页面 1(模板通用页面)

-职业页面 2(模板通用页面)

我的问题是:我的编码方式是,每当我点击(职业第 1 页)时,我都会得到使用工作页面模板的页面列表,所以我得到职业第 1 页的第 1-8 页列表和第 1 页列表-8 职业第 2 页,但我只想要(职业第 1 页)的页面

我已经尝试 GetQueryable 来获取模板 id 等于作业页面模板的页面列表

IQueryable search = context.GetQueryable().Where(x => x.TemplateId == PageID); //这将为我获取从 PageID(Job page) 模板创建的所有页面的列表

当我点击职业页面 1 时,我只想要(职业页面 1)的页面,当我点击职业页面 2 时,我只想要(职业页面 2)的页面列表

标签: c#sitecore

解决方案


您也应该过滤Paths(索引为_path)。它包含一个ID' 列表,表示项目所在的路径。所以它看起来像这样(取决于你的模型是什么样的):

contex.GetQueryable<MyType>().Where(x => x.TemplateId == JobPageTemplateId && x.Paths.Contains(careerPageId))

根据您的解决方案的外观,考虑过滤语言_latestversion以及避免意外结果和潜在重复。


推荐阅读