这让我有点疯狂(一直试图这么做)
我正在尝试使用一些xpath代码来显示下一个和上一个链接,它会带你到下一个newsItem,一旦它到达newsItem4,那么下一个按钮就会消失。
<newsArea>
<newsItem1></newsItem1> <----- currentPage
<newsItem2></newsItem2>
<newsItem3></newsItem3>
<newsItem4></newsItem4>
</newsArea>
我可以在带有
的新闻项目中列出newsItems <xsl:for-each select="$currentPage/../*">
<h2><xsl:value-of select="@nodeName"/></h2>
</xsl:for-each>
我可以计算我有多少项
<xsl:value-of select="count($currentPage/../*)-1"/>
但是我不知道如何转到下一个新闻项目,或者如何告诉它什么时候停止显示下一个节点,当它涉及到newsItems的结尾时(一个例子只是简化到另一个级别)
真的很感激任何帮助。
由于
添
答案 0 :(得分:1)
请查看此博客文章中的分页示例:http://www.nibble.be/?p=11
这应该让你知道它是如何工作的。您始终可以将页面大小设置为1。
此外,还有一个基于该方法的包:http://our.umbraco.org/projects/developer-tools/paging-xslt
这应该让你走上正确的道路。
答案 1 :(得分:0)
您可以轻松创建一个“页面导航”宏来添加到您想要的任何模板的底部,XSLT将如下所示:
<xsl:template match="/">
<!-- if there's a previous page -->
<xsl:if test="$currentPage/preceding-sibling::*[1]">
<a href="{umbraco.library:NiceUrl($currentPage/preceding-sibling::*[1]/@id)}">< Prev</a>
</xsl:if>
<!-- if there's next and previous, show divider -->
<xsl:if test="$currentPage/preceding-sibling::*[1] and $currentPage/following-sibling::*[1]">
<xsl:text> | </xsl:text>
</xsl:if>
<!-- if there's a next page -->
<xsl:if test="$currentPage/following-sibling::*[1]">
<a href="{umbraco.library:NiceUrl($currentPage/following-sibling::*[1]/@id)}">Next ></a>
</xsl:if>
</xsl:template>