2017-05-15 49 views
0

我在Sitecore 7中有以下结构,我需要检索2011年更新的后代。我如何检索使用快速查询或PredicateBuilder?Sitecore:PredicateBuilder或快速查询检索

首页
- 皮克
    -2009
    -2010
        -Article 1(更新2011年)
        -Article 2
HOME1
- Peek1
    -2010
    -2011
        -Article 3(更新2011年)

回答

0

有了Sitecore的快速查询,你可以使用// *从一个节点获得所有后代。 要获得所有desendants在2011年,您可以使用成才这样的更新日期:

fast:/sitecore/content//*[@__Updated >= '20110101T000000' and @__Updated < '20120101T000000'] 

在Sitecore的7,您可以在开发中心使用XPath生成器。

请注意,在代码中使用Sitecore时,建议使用Sitecore内容搜索API而不是Sitecore Fast Query。

+0

嗨,当我试图使用上述脚本,它也将返回文件夹“2011”和“第3条”作为该文件夹与2011年更新日期。有没有反正只检索后代?意味着最后一关。 – snowfrost

+0

也许,一个解决方案是添加一个模板过滤器,如果你知道你想要哪个模板或哪个模板不是,请使用类似于@@ templatename ='Article' –

+0

也可以在路径中使用通配符尝试诸如/ sitecore/content/*/*/*/*获取特定级别的所有项目 –