菜单中的umbraco宏

时间:2009-05-22 15:13:08

标签: html xslt umbraco

我在左边的菜单上创建了一个宏,没关系。

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

我该怎么办?

<?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>

1 个答案:

答案 0 :(得分:0)

如果要重用宏,可以通过插入要重用它的.NET主页面轻松实现。

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

沃伦:)