Details
-
New Feature
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
0.6, 0.7, 0.8
-
None
Description
At least two users (myself included) need the ability to link to the previous and next pages. This can be done by adding the follwoing to head
<link rel="next" href="nextPage.html" />
<link rel="prev" href="prevPage.html" />
next is the following page in the logical site.xml order.
prev is the previous page in the logical site.xml order
The skin then then choose to render this or not on a per page basis.
----
As a possible starting point I have a partial solution (it does not use link elements and only does next):
<xsl:template name="navigationLinks">
<xsl:if test="not($config/navigation/next/@enabled = 'false')">
<span class="navigation">
<xsl:for-each select="//div[@class='menu']//span[@class='sel']">
<xsl:choose>
<xsl:when test="../following-sibling::*">
<xsl:variable name="linkText">
<xsl:value-of select="../following-sibling::*"/>
</xsl:variable>
<xsl:variable name="dirname">
<xsl:call-template name="dirname">
<xsl:with-param name="path"
select="../following-sibling::*/a/@href"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="filename">
<xsl:call-template name="filename">
<xsl:with-param name="path"
select="../following-sibling::*/a/@href"/>
</xsl:call-template>
</xsl:variable>
<a class="dida">
<xsl:attribute name="href"><xsl:value-of
select="$dirname"/><xsl:value-of select="$filename"/></xsl:attribute>
<img class="skin" src="{$skin-img-dir}/next.gif"
alt="Next:"/>
<xsl:value-of select="$linkText"/>
</a>
<img class="spacer" src="{$spacer}" alt="" width="20"
height="8" />
</xsl:when>
<xsl:otherwise>
(Last in Section - choose a new section from the menu)
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</span>
</xsl:if>
</xsl:template>
<link rel="next" href="nextPage.html" />
<link rel="prev" href="prevPage.html" />
next is the following page in the logical site.xml order.
prev is the previous page in the logical site.xml order
The skin then then choose to render this or not on a per page basis.
----
As a possible starting point I have a partial solution (it does not use link elements and only does next):
<xsl:template name="navigationLinks">
<xsl:if test="not($config/navigation/next/@enabled = 'false')">
<span class="navigation">
<xsl:for-each select="//div[@class='menu']//span[@class='sel']">
<xsl:choose>
<xsl:when test="../following-sibling::*">
<xsl:variable name="linkText">
<xsl:value-of select="../following-sibling::*"/>
</xsl:variable>
<xsl:variable name="dirname">
<xsl:call-template name="dirname">
<xsl:with-param name="path"
select="../following-sibling::*/a/@href"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="filename">
<xsl:call-template name="filename">
<xsl:with-param name="path"
select="../following-sibling::*/a/@href"/>
</xsl:call-template>
</xsl:variable>
<a class="dida">
<xsl:attribute name="href"><xsl:value-of
select="$dirname"/><xsl:value-of select="$filename"/></xsl:attribute>
<img class="skin" src="{$skin-img-dir}/next.gif"
alt="Next:"/>
<xsl:value-of select="$linkText"/>
</a>
<img class="spacer" src="{$spacer}" alt="" width="20"
height="8" />
</xsl:when>
<xsl:otherwise>
(Last in Section - choose a new section from the menu)
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</span>
</xsl:if>
</xsl:template>