在umbraco中的xslt文件中检索文档类型

时间:2012-12-05 15:46:33

标签: .net xslt umbraco

对于Umbraco和.net来说,我的第一个网站已经相当不错了。但是,我遇到了一个绊脚石,我设置了一个名为Testimonial Article的文档类型,我希望在XSLT文件中检索和循环。我已经设置了一个链接到这个XSLT文件的宏,我创建并发布了一篇见证文章 - 但似乎没有结果。

我假设我试图在XSLT文件中错误地访问文档类型?

在Testimonials.xslt中,非常基本:

<xsl:param name="currentPage"/>

<xsl:template match="/">
<xsl:for-each select="umbraco.library:GetXmlAll()//node[@nodeTypeAlias = 'TestimonialArticle']" >
    <p>Result</p>
</xsl:for-each>

</xsl:template>

我创建了一个文档类型见证文章的推荐书:

enter image description here

这是我的医生类型:

enter image description here

2 个答案:

答案 0 :(得分:1)

我相信做//node是做旧的方式。我用//*

替换了它

执行//TestimonialArticle也应该有效,而不是umbraco.library:GetXmlAll()//*[@nodeTypeAlias = 'TestimonialArticle']

在创建xpath时,您可能会发现此程序包很有用:http://our.umbraco.org/projects/developer-tools/umbraco-xpath-evaluator

<xsl:param name="currentPage"/>

<xsl:template match="/">
<xsl:for-each select="umbraco.library:GetXmlAll()//*[@nodeTypeAlias = 'TestimonialArticle']" >
    <p>Result</p>
</xsl:for-each>

</xsl:template>

答案 1 :(得分:0)

使用XSLT你通常从一些“referencePoint”开始 - 在Umbraco中通常是currentPage变量,然后你从那里开始 - (伪代码):“currentpage - children - where documentType is ..”etc < / p>

看看这里:http://our.umbraco.org/wiki/reference/xslt/the-basics