After finally getting my XSLT to work, I have been given another assignment to my... assignment. However, this time, I'm completely stumped even with help from Google and my colleagues.
As a brief summary, my XML file contains a large list of products that you could find on a webshop. I have to be able to list them all when the page loads, and filter them to only show Dutch products by using a button.
I have been able to filter the products to only show Dutch products, but I have no idea how to activate this by using a button. I would really appreciate it if somebody could help me with this problem.
If you want to do it in the xml, i requires a page reload, as the xslt is rendered on the server not in the browser. You could do it by sending a query string, and then reading this in your xslt and using this to filter the list.
Changing XSLT conditions with buttons?
Hello, everybody. It's me again.
After finally getting my XSLT to work, I have been given another assignment to my... assignment. However, this time, I'm completely stumped even with help from Google and my colleagues.
As a brief summary, my XML file contains a large list of products that you could find on a webshop. I have to be able to list them all when the page loads, and filter them to only show Dutch products by using a button.
I have been able to filter the products to only show Dutch products, but I have no idea how to activate this by using a button. I would really appreciate it if somebody could help me with this problem.
Here is my XSLT:
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
<xsl:variable name="MyFeed" select="umbraco.library:GetXmlDocumentByUrl('http://shop.voetbalshirts.com/content/files/exportimport/froogle_7679424322.xml')" />
<xsl:for-each select="$MyFeed/rss/channel/item">
<xsl:variable name="productcondition" select="*[local-name()='product_type']" />
<xsl:if test="contains($productcondition, 'Nederland')">
<div style="padding: 10px;" align="center">
<span style="font-weight:bold"><xsl:value-of select="title"/></span><br />
<xsl:variable name="productlink" select="*[local-name()='link']" />
<a>
<xsl:attribute name="href"><xsl:value-of select="$productlink"/></xsl:attribute>
<xsl:attribute name="target">_blank</xsl:attribute>
<img>
<xsl:variable name="image" select="*[local-name()='image_link']" />
<xsl:attribute name="src"><xsl:value-of select="$image"/></xsl:attribute>
</img><br />
</a>
<xsl:value-of select="description" disable-output-escaping="yes"/>
</div>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
The bold piece of code is supposed to be off when the page loads, and must be activated by pressing the button.
You could do it using javascript...
If you want to do it in the xml, i requires a page reload, as the xslt is rendered on the server not in the browser.
You could do it by sending a query string, and then reading this in your xslt and using this to filter the list.
like:
<a href="mypage.aspx?filter=dutch">
and then using
in your xslt.
is working on a reply...