0

XSLT を使用して Umbraco Web サイト (NL、ENG) に言語フラグを表示しようとしています。私の XSLT は、ページが現在別のページと関係がある場合にのみフラグを表示していますが、別のページとの関係がない場合にもフラグを表示したいと考えています (このフラグは、選択した言語のインデックス ページに移動する必要があります)。 .

私のアイデアは変数を操作することでしたが、これらを XSLT で変更できないことを知りませんでした (XSLT の新機能です)。

私の質問は、ページに関係がない場合でも NL ENG フラグを常に表示する方法はありますか?

これが私のXSLTコードです:

<?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"
    exclude-result-prefixes="msxml umbraco.library">

<xsl:output method="xml" omit-xml-declaration="yes" />

<xsl:param name="currentPage" />

<xsl:template match="/">

<xsl:variable name="smallCase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="upperCase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

<ul>
    <xsl:for-each select="$currentPage/../../*">

    <xsl:variable name="relations"  select="umbraco.library:GetRelatedNodesAsXml($currentPage/@id)//relation [@parentId =     $currentPage/@id]"/>
    <xsl:variable name="nodeName" select="translate(@nodeName, $upperCase, $smallCase)" />

    <xsl:for-each select="$relations">
        <xsl:value-of select='@nodeName' />

        <xsl:variable name="url" select="umbraco.library:NiceUrl(@childId)" />

        <xsl:if test="contains($url, $nodeName)">
            <li><a href="{$url}" class="{$nodeName}"><xsl:value-of select='$nodeName' /></a></li>
        </xsl:if>
    </xsl:for-each>

    </xsl:for-each>
</ul>

</xsl:template>

</xsl:stylesheet>

そして、私の 3 つの構造は次のようになります (ここで、 Startpagina は Home と関係があり、 Algemeen は General と関係があります:

ツリー表示

4

1 に答える 1