0

我为左侧的菜单创建了一个宏,没关系。

我想对右侧的菜单使用相同的宏而不创建另一个。

我应该怎么办?

<?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:call-template name="drawNodes">  
  </xsl:call-template>

</xsl:template>

<xsl:template name="drawNodes">    
  <ul>    
    <xsl:for-each select="$currentPage/ancestor-or-self::root/node [string(data[@alias='posizione_menu']) = 'left']">

      <xsl:choose>
        <xsl:when test="$currentPage/ancestor-or-self::node/@id = current()/@id">
          <li><xsl:value-of select="@nodeName"/></li>
        </xsl:when>
        <xsl:otherwise>
          <li>
            <a href="{umbraco.library:NiceUrl(@id)}" title="Accedi a {@nodeName}">
              <xsl:text disable-output-escaping="yes"><![CDATA[&laquo;]]> </xsl:text>
              <xsl:value-of select="@nodeName"/>
            </a>
          </li>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:for-each>

  </ul>

</xsl:template>
</xsl:stylesheet>
4

1 回答 1

0

如果您想重用一个宏,您可以通过将其插入您想要重用它的 .NET 母版页来轻松实现。

如果您想要不同的 XHTML 标记,具体取决于它是在左侧还是右侧,请告诉我,以便我进一步帮助您。

沃伦:)

于 2009-05-26T10:03:46.057 回答