【问题标题】:Umbraco XSLT select newsitem sub nodes regardless of currentpageUmbraco XSLT 选择 newsitem 子节点,而不考虑当前页面
【发布时间】:2010-07-21 18:24:38
【问题描述】:

我需要说;我在 xslt 中很绿色,所以很可能这是主要问题;尽管如此,已经使用了几个小时并且无法获得它。 我想用 5 个最新的新闻站点在我的主模板上填充一列。无论当前页面如何,都应显示这些新闻站点。 我试过这个:

  <xsl:template match="/">
    <xsl:for-each select="umbraco.library:GetXmlNodeById(1075)/child::node">
        <p>
          <strong>
            <xsl:value-of select="header"/>
          </strong>
       </p>
    </xsl:for-each>
  </xsl:template>

目前,1075 是我的新闻模板。我试过了:GetXmlNodeById(1076)/node(其中 1076)是我的 NewsItem 模板。我已经尝试使用内容树中的节点 ID,但没有运气..

有人能帮我吗?我被困住了,我在谷歌、论坛和文档上进行了高低搜索,但我很可能在这里遗漏了一些重要的东西。蒂亚!

附:使用 Umbraco 4.5 顺便说一句

【问题讨论】:

  • 我不熟悉 Umbraco,但如果您只使用 GetXmlNodeById(1076) 没有 /node,那是否能满足您的需求?
  • 如果我只使用 GetXmlNodeById(1076) 我得到一个解析器错误。
  • 你得到的解析器错误和你输入的行是什么?将其添加到您的问题中,以便我们尝试解决问题。

标签: xslt umbraco


【解决方案1】:

这应该输出当前和子节点。

<xsl:copy-of select="umbraco.library:GetXmlNodeById(1075)"/>

在 Umbraco 4.5 中,架构已从 /node[@nodeTypeAlias='News'] 更改为 /News [@isDoc]

http://blog.leekelleher.com/2010/04/02/working-with-xslt-using-new-xml-schema-in-umbraco-4-1/

所以你的 xslt 应该是这样的

<xsl:template match="/">
    <ul>
        <xsl:for-each select="umbraco.library:GetXmlNodeById(1075)/News [@isDoc]">
            <li><a href="{umbraco.library:NiceUrl(@id)}"><xsl:value-of select="@nodeName"/></a></li>
       </xsl:for-each>
    </ul>
</xsl:template>

【讨论】:

  • 谢谢!确实是这样。我猜对旧模式的所有样本感到困惑,但它正在工作!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多