Sorting list Options
lloydphillips
Posted: Thursday, June 26, 2008 7:40:04 AM
Rank: Enthusiast

Joined: 5/22/2008
Posts: 48
Location: Auckland, New Zealand
How do I go about sorting lists? I've got the blog installed and have created a new date property called newsDate (this was to get around createDates being different to publish dates and updateDate dates). I want to order my posts and the latest news links that I have on the right of the page by this property but I'm not sure how to do it because it's an alias. I tried to add the xsl sort with data[alias="'] etc but that threw me an error. My code for my latest news xslt is below what is the correct syntax for sorting and where should the line go?

Lloyd

Code:
<xsl:variable name="numberOfItems" select="/macro/numberOfItems"/>


<xsl:template match="/">
<div>
<h3 class="latestnews">Latest News</h3>
<a href="http://ubtest.ecargo.co.nz/data/rss/news.xml" target="_blank" style="float:right; position:relative; top:-27px;"><img src="/media/feed-icon-14x14.png"/></a>
<ul>
<xsl:for-each select="umbraco.library:GetXmlNodeById(1222)//node [@nodeTypeAlias = 'umbracoBlogPost' and string(data [@alias='umbracoNaviHide']) != '1']">
<xsl:sort select="@createDate" order="descending"/>
<xsl:if test="position() &lt;= $numberOfItems">
<li>
<small><xsl:value-of select="umbraco.library:LongDate(./data [@alias='newsDate'])"/></small><br/>
<a href="{umbraco.library:NiceUrl(@id)}" id="recentpost-{@id}"><xsl:value-of select="@nodeName"/></a><br/></li>

</xsl:if>
</xsl:for-each>
</ul>
</div>
</xsl:template>
Dirk
Posted: Thursday, June 26, 2008 9:32:59 AM

Rank: Fanatic

Joined: 9/27/2007
Posts: 463
Location: Belgium
Hi Lloyd,

How about this:

Code:
<xsl:sort select="./data [@alias='newsDateAlias']" order="descending"/>


Doesn't throw an error. Didn't actually tried it myself as I don't have such a property atm.

Regards,
/Dirk


level 1 certified - umbraco blog at netaddicts.be
hoehler
Posted: Thursday, June 26, 2008 9:35:09 AM

Rank: Addict

Joined: 7/19/2006
Posts: 584
Location: Bad Homburg, Germany
If this is a generic property of your document type then use
Code:
<xsl:for-each select="YOUR SELECT STATEMENT">
<xsl:sort select="data [@alias = 'THE ALIAS OF YOUR GENERIC PROPERTY']"/>

Also you can add the sort direction into it...

hth, Thomas

• 2007/2008 MVP • www.thoehler.com • Bad Homburg, Germany
lloydphillips
Posted: Monday, June 30, 2008 12:51:40 AM
Rank: Enthusiast

Joined: 5/22/2008
Posts: 48
Location: Auckland, New Zealand
Thanks guys.
Users browsing this topic
Guest


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.