我从Umbraco的宏中获取图像文件夹参数(媒体部分中存在的文件夹),然后遍历所有图像。首先我检查该文件夹是不是空的,然后在循环中我进一步尝试检查图像名称是否等于“marhall_spadayhpbanner_jul131%20(4).jpg”然后我需要添加一个不同的锚链接。我尝试了以下xslt代码但由于某种原因它没有按预期工作,第二个条件(当图像等于'media / 42595 / marhall_spadayhpbanner_jul131%20(4).jpg')永远不会成立。
感谢任何想法
<xsl:for-each select="$imageFolderContents/node [@nodeTypeAlias='Image']">
<xsl:if test="string(current()/data [@alias='umbracoFile']) != ''">
<a href="www.somelink.com">
<img alt="{current()/@nodeName}">
<xsl:attribute name="src"><xsl:value-of select="current()/data [@alias='umbracoFile']"/></xsl:attribute>
</img>
</a>
</xsl:if>
<xsl:if test="string(current()/data [@alias='umbracoFile']) = 'media/42595/marhall_spadayhpbanner_jul131%20(4).jpg'">
<a href="someotherlink.com">
<img alt="{current()/@nodeName}">
<xsl:attribute name="src"><xsl:value-of select="current()/data [@alias='umbracoFile']"/></xsl:attribute>
</img>
</a>
</xsl:if>
</xsl:for-each>
输出是代码
<div style="clear: both; position: relative; height: auto;" class="slideshow innerfade"><a href="http://gifts.skchase.com/marhall/summerspa/" style="z-index: 5; position: absolute; display: none;"><img alt="dont be a fool" src="/media/42595/marhall_spadayhpbanner_jul131 (4).jpg"></a><a href="https://gifts.skchase.com/marhall/summerspa/" style="z-index: 4; position: absolute; display: block;"><img alt="dont be a fool" src="/media/42595/marhall_spadayhpbanner_jul131 (4).jpg"></a><a href="http://gifts.skchase.com/marhall/summerspa/" style="z-index: 3; position: absolute; display: none;"><img alt="MH-Ext-16-hero.jpg" src="/media/1548/MH-Ext-16-hero.jpg"></a><a href="http://gifts.skchase.com/marhall/summerspa/" style="z-index: 2; position: absolute; display: none;"><img alt="golf_hero_arial_new.jpg" src="/media/1816/golf_hero_arial_new.jpg"></a><a href="http://gifts.skchase.com/marhall/summerspa/" style="z-index: 1; position: absolute; display: none;"><img alt="MH-Spa-e-25-hero.jpg" src="/media/1552/MH-Spa-e-25-hero.jpg"></a></div>
答案 0 :(得分:0)
将if语句中的%20替换为空格。那应该解决它。