在我编写的一些xslt中,我使用以下内容检索Sitecore中特定类型的所有文档的集合。
<xsl:variable name="documents" select="//item[@template='document type']" />
它几乎按预期工作,除了总是返回一个额外的空白元素,我不知道为什么。也许以上也是返回模板本身,但我不知道如何验证这一点。
答案 0 :(得分:0)
<xsl:variable name="home" select="sc:item('/sitecore/content/home',.)" />
<xsl:variable name="documents" select="$home//item[@template='document type']" />
我之前尝试过类似的东西,但它没有用
<xsl:variable name="documents" select="/sitecore/content/home//item[@template='document type']" />
我需要阅读更多xslt教程;)
答案 1 :(得分:0)
虽然您可以通过XSLT选择实现此目的,但搜索站点的所有后代,特别是从Home节点开始,可能是一项非常昂贵的操作,并且通常表明需要再次查看架构。您确定这是您在网站上需要做的事情,或者您需要重新考虑您想要实现的目标吗?
如果您将这些文档模板分布在整个网站上并且确实需要找到它们,那么如果您拥有大量内容,Lucene索引会更好。看看Advanced Database Crawler。