Skip to content

Instantly share code, notes, and snippets.

@jamesdsmyth
Created October 21, 2011 10:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamesdsmyth/1303495 to your computer and use it in GitHub Desktop.
Save jamesdsmyth/1303495 to your computer and use it in GitHub Desktop.
xslt of multi-node picker
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#x00A0;">
]>
<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" xmlns:Exslt.ExsltCommon="urn:Exslt.ExsltCommon" xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions" xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings" xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets" xmlns:autofolders.library="urn:autofolders.library" xmlns:uTube.XSLT="urn:uTube.XSLT"
exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets autofolders.library uTube.XSLT ">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
<!-- start writing XSLT -->
<xsl:for-each select="$currentPage/ancestor-or-self::*/Home/projectsToDisplayOnHomepage/MultiNodePicker/nodeId">
<xsl:variable name="myPosition" select="position()"/>
<xsl:variable name="idProject" select="."/>
<xsl:for-each select="$currentPage/ancestor-or-self::*/Home/ProjectGroupPage/ProjectItem">
<xsl:variable name="idNodePicker" select="@id"/>
<xsl:if test="$idNodePicker = $idProject">
<xsl:if test="$myPosition mod 3 = 1">
<xsl:text disable-output-escaping="yes"><![CDATA[<div class="item-row"]]></xsl:text>
<xsl:text disable-output-escaping="yes"><![CDATA[>]]></xsl:text>
</xsl:if>
<div class="item">
<h3>
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:attribute name="title">
<xsl:value-of select="projectItemAltText"/>
</xsl:attribute>
</a>
<xsl:value-of select="@nodeName"/>
</h3>
<a href="{umbraco.library:NiceUrl(@id)}">
<img>
<xsl:attribute name="src">
<xsl:value-of select="projectItemThumbImage"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="projectItemAltText"/>
</xsl:attribute>
</img>
</a>
<p>
<xsl:value-of select="projectItemThumbText"/> sadsadasdasd
</p>
</div>
<xsl:if test="$myPosition mod 3 = 0">
<xsl:text disable-output-escaping="yes"><![CDATA[</div>]]></xsl:text>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment