0

对 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>

我创建了一个文档类型为推荐文章的推荐:

在此处输入图像描述

这是我的文档类型:

在此处输入图像描述

4

2 回答 2

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>
于 2012-12-06T16:36:13.060 回答
0

使用 XSLT,您通常会从某个“referencePoint”开始——在 Umbraco 中,这通常是 currentPage 变量,然后从那里开始——(伪代码):“currentpage - children - where documentType is ..”等

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

于 2012-12-05T16:38:56.810 回答