<xsl:with-param name="count" select="ceiling(count($currentPage/parent::*/ReviewerSection/ReviewerBioPage/InsightArticle [@isDoc and string(./umbracoNaviHide) != '1']) div $recordsPerPage)"></xsl:with-param>
This must be Umbraco adding it from the NiceUrl() extension, which means you should check the setting in Web.config - enableDirectoryURLs (or similar) - but beware that this will of course change all URLs that are generated from the standard Navigation templates etc., so you may want to set up a RewriteRule as well to make sure any incoming request to a .aspx URL is forwarded to the extensionless URL instead.
On a totally different note, you should have a look at my PaginationHelper for XSLT if you'd like to separate all the pagination code from the actual view code :-)
Just trying to implement you solution by amending the webconfig file. When I amend " <add key="umbracoUseDirectoryUrls" value="false" />" to " <add key="umbracoUseDirectoryUrls" value="true" />" the website crashes with an internal error 500. I'm clearly missing something but not sure what..
any ideas?
For info the server is hosted and not accessed by myself directly, in case that makes any difference.
Paging Issue with List
Hi guys,
Hope you can help me out with a paging issue...
I have created a list XSLT that includes page breaks, the page break button is being displayed but when it is clicked on it is the link is incorrect, instead of showing http://domainname.co.uk/theatrical-insights/?page=2 it is trying to resolve http://domainmame/theatrical-insights.aspx/?page=2
Any idea how to remove the .aspx from the code below guys!?
Cheers as ever for your help.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [<!ENTITY nbsp " ">]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxml="urn:schemas-microsoft-com:xslt"
xmlns:umbraco.library="urn:umbraco.library"
exclude-result-prefixes="msxml umbraco.library">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="featuredImage">
<img src="{.}" />
</xsl:template>
<xsl:template match="/">
<xsl:variable name="excerptLength">
<xsl:choose>
<xsl:when test="string(/macro/excerptLength) != ''">
<xsl:value-of select="/macro/excerptLength"/>
</xsl:when>
<xsl:otherwise>150</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="recordsPerPage" select="2"/>
<xsl:variable name="pageNumber">
<xsl:choose>
<xsl:when test="umbraco.library:RequestQueryString('page') <= 2 or string(umbraco.library:RequestQueryString('page')) = '' or string(umbraco.library:RequestQueryString('page')) = 'NaN'">1</xsl:when>
<xsl:otherwise>
<xsl:value-of select="umbraco.library:RequestQueryString('page')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="numberOfRecords" select="count($currentPage/parent::*/ReviewerSection/ReviewerBioPage/InsightArticle)"/>
<ul>
<xsl:for-each select="$currentPage/parent::*/ReviewerSection/ReviewerBioPage/InsightArticle [@isDoc and string(./umbracoNaviHide) != '1']">
<xsl:sort select="@createDate" order="descending" />
<xsl:if test="position() > $recordsPerPage * number($pageNumber - 1) and position() <= number($recordsPerPage * number($pageNumber - 1) + $recordsPerPage )">
<li><a href="{umbraco.library:NiceUrl(@id)}">
<figure><xsl:apply-templates select="ancestor-or-self::*[normalize-space(featuredImage)][1]/featuredImage" /></figure>
<div class="homeinsighttext"><h4><xsl:value-of select="typeOfArticle" disable-output-escaping="yes"/></h4><h2><xsl:value-of select="@nodeName"/></h2>
<p>
<xsl:choose>
<xsl:when test="string($excerptLength) != '0'">
<xsl:value-of select="umbraco.library:TruncateString(umbraco.library:StripHtml(articleContent), number($excerptLength), '...')" disable-output-escaping="yes"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="articleContent" disable-output-escaping="yes"/>
</xsl:otherwise>
</xsl:choose>
</p>
</div>
</a>
</li>
</xsl:if>
</xsl:for-each>
</ul>
<xsl:if test="$pageNumber > 1">
<a href="{umbraco.library:NiceUrl($currentPage/@id)}/?page={$pageNumber - 1}" class="navbuttonprev">Previous Page</a>
</xsl:if>
<xsl:call-template name="for.loop">
<xsl:with-param name="i">100</xsl:with-param>
<xsl:with-param name="page" select="$pageNumber"></xsl:with-param>
<xsl:with-param name="count" select="ceiling(count($currentPage/parent::*/ReviewerSection/ReviewerBioPage/InsightArticle [@isDoc and string(./umbracoNaviHide) != '1']) div $recordsPerPage)"></xsl:with-param>
</xsl:call-template>
<xsl:if test="(($pageNumber) * $recordsPerPage) < ($numberOfRecords)">
<a href="{umbraco.library:NiceUrl($currentPage/@id)}/?page={$pageNumber + 1}" class="navbuttonnext">Next Page</a>
</xsl:if>
</xsl:template>
<xsl:template name="for.loop">
<xsl:param name="i"/>
<xsl:param name="count"/>
<xsl:param name="page"/>
<xsl:if test="$i <= $count">
<xsl:if test="$page != $i">
<a href="{umbraco.library:NiceUrl($currentPage/@id)}/?page={$i}" class="navbutton">
<xsl:value-of select="$i" />
</a>
</xsl:if>
<xsl:if test="$page = $i">
<xsl:value-of select="$i" />
</xsl:if>
</xsl:if>
<xsl:if test="$i <= $count">
<xsl:call-template name="for.loop">
<xsl:with-param name="i">
<xsl:value-of select="$i + 1"/>
</xsl:with-param>
<xsl:with-param name="count">
<xsl:value-of select="$count"/>
</xsl:with-param>
<xsl:with-param name="page">
<xsl:value-of select="$page"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Hi Brian,
This must be Umbraco adding it from the
NiceUrl()
extension, which means you should check the setting in Web.config - enableDirectoryURLs (or similar) - but beware that this will of course change all URLs that are generated from the standard Navigation templates etc., so you may want to set up a RewriteRule as well to make sure any incoming request to a .aspx URL is forwarded to the extensionless URL instead.On a totally different note, you should have a look at my PaginationHelper for XSLT if you'd like to separate all the pagination code from the actual view code :-)
/Chriztian
Hi Chriztian,
Just trying to implement you solution by amending the webconfig file. When I amend " <add key="umbracoUseDirectoryUrls" value="false" />" to " <add key="umbracoUseDirectoryUrls" value="true" />" the website crashes with an internal error 500. I'm clearly missing something but not sure what..
any ideas?
For info the server is hosted and not accessed by myself directly, in case that makes any difference.
is working on a reply...