2013-03-14 37 views
1

我想在我的href標記的URL更改爲低,這裏是我的代碼:一把umbraco NiceUrl ToLower將

<a href="{$url}{umbraco.library:NiceUrl(@id)}/{$AppendedID}/"> 

我使用Exslt.ExsltStrings:lowercase(node-set)沒有快樂,因爲這會引發錯誤嘗試。有沒有人有什麼建議?

+0

本帖] [1]可能有幫助,因爲它在XSLT變化的情況下 [1]涉及:http://stackoverflow.com/questions/586231/how-can-i-convert-a -string到上層或 - 低級 - 殼體與 - XSLT – 2013-03-14 10:44:39

回答

0

我不知道直接的方式來解決這個問題,除了使用Exslt.ExsltStrings:lowercase(node-set)

但是這是拋出一個異常,當你用它來與umbraco.library:NiceUrl,那麼你可以嘗試使串下並將其存儲在臨時變量,然後使用該temp變量直接。

2

下面的表達式應該工作:

Exslt.ExsltStrings:lowercase(concat($url, umbraco.library:NiceUrl(@id), '/', $AppendedID, '/')) 

測試用下面的代碼段....

<xsl:for-each select="$currentPage"> 
    <xsl:variable name="url" select="'http://www.EXAMPLE.com'" /> 
    <xsl:variable name="AppendedID" select="123" /> 
    <a href="{Exslt.ExsltStrings:lowercase(concat($url, umbraco.library:NiceUrl(@id), '/', $AppendedID, '/'))}"> 
     <xsl:value-of select="@nodeName" /> 
    </a> 
</xsl:for-each> 

....呈現的HTML應該是沿着線...

<a href="http://www.example.com/some-page.aspx/123/">Some Page</a>