Umbraco - XSLT - Create a link using a Node Number.

In Umbraco XSLT you can create a link using a node number, instead of the actual node name / page url.  This can help when you may be creating static code to link to a page.  Using the node number means, if a user changes the name of the page, the link will not break!

1) So, instead of having something like this on your XSLT:

<li><a href="news.aspx" title="News">View All News</a></li>

2) You would have this: (Using the Node Number in a Link)
<li><a href="1569.aspx" title="News">View All News</a></li>

However, this will show 1596.aspx in the address bar.

3) So, use the following to show the proper url, such as news.aspx you would use the Local Link property in Umbraco:
<li><a href="/{locallink:1569.aspx}" title="News">View All News</a></li>
(You can get the node number of a page by hovering over it in Umbraco).


Other examples:


<xsl:value-of select="umbraco.library:NiceUrl(./parent::node/@id)"/>


<xsl:value-of select="umbraco.library:NiceUrl(@id)"/>


The follwoing code adds an Anchor to JQuery Colorbox title attribute to create a link:


<xsl:for-each select="$currentPage/* [@isDoc]">

 <xsl:variable name="getimg" select="yourImage"/>
  <!-- Check to see wheater the user has chosen a an IMAGE and if so, write it out -->

 <xsl:if test="$getimg != ''">
<li>
<a rel="gallery" class="image">
      <xsl:attribute name="href">
<xsl:value-of select="umbraco.library:GetMedia(yourImage,'false')/umbracoFile"/>
      </xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="pageTitle"/> - &lt;a href="<xsl:value-of select="umbraco.library:NiceUrl(@id)"/>"&gt;Find out More about this Pic and Comment on it...&lt;/&gt; 
</xsl:attribute>



<img alt="">
      <xsl:attribute name="src">
        <xsl:value-of select="umbraco.library:GetMedia(yourImage,'false')/crops//crop [@name = 'Thumbnail']/@url"/>
      </xsl:attribute>
<xsl:attribute name="alt"><xsl:value-of select="pageTitle"/></xsl:attribute>
    </img>
</a>
</li>
 </xsl:if>


Comments

Popular posts from this blog

Umbraco Razor Sort Nodes Ascending or Descending

Umbraco Razor get Querystring

Create a .NET Contact Form that Gets the Last Url Visited in C# Can also be Used in Umbraco