2017-10-03 3 views
0

現在いくつかのサイトでMega2DNN DDRメニューテンプレートを使用しており、メニューの動的な性質に影響を与えずにわずかなカスタマイズを追加したいと考えています。基本的には、すべてのページとその子をリストに標準でリストし、ulの親ページにリダイレクトする各ulの最後にハードコードされたアクションボタン/リンクを追加します。また、可能な場合は、以下の基本的なモックアップごとに全体のメガメニュー項目の親ページにリンクするアクションへの全体的な呼び出しました:以下DDR Mega2DNN xslt |各ulのハードコード 'view all'リンク

enter image description here

は、私のコードテンプレートであると、それについて行くにしようとせず非常にハッキーな方法で私の質問にther簡単なソリューションですか?すべてのヘルプは高く評価され

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="html"/> 
    <xsl:param name="ControlID" /> 
    <xsl:param name="Options" /> 
    <xsl:param name="subMenuColumns">1</xsl:param> 
    <xsl:param name="subpointer"><![CDATA[]]></xsl:param> 
    <xsl:param name="pointer"><![CDATA[]]></xsl:param> 
    <xsl:param name="startUl"><![CDATA[<ul>]]></xsl:param> 
    <xsl:param name="endUl"><![CDATA[</ul>]]></xsl:param> 
    <xsl:template match="/*"> 
    <xsl:apply-templates select="root" /> 
    </xsl:template> 
    <xsl:template match="root"> 
    <ul class="megamenu" id="megamenu"> 
     <xsl:apply-templates select="node"> 
     <xsl:with-param name="level" select="0"/> 
     </xsl:apply-templates> 
    </ul> 
    </xsl:template> 
    <xsl:template match="node"> 
    <xsl:param name="level" /> 
    <xsl:choose> 
     <xsl:when test="$level=0"> 
     <li> 
      <xsl:attribute name="class"> 
      level0 <xsl:if test="@breadcrumb = 1">current</xsl:if> 
      </xsl:attribute> 
      <a> 
      <xsl:attribute name="class"> 
       level0 <xsl:if test="@breadcrumb = 1">current</xsl:if> 
      </xsl:attribute> 
      <xsl:choose> 
       <xsl:when test="@enabled = 1"> 
       <xsl:attribute name="href"> 
        <xsl:value-of select="@url"/> 
       </xsl:attribute> 
       </xsl:when> 
       <xsl:otherwise> 
       <xsl:attribute name="href">#</xsl:attribute> 
       <xsl:attribute name="onclick">return false</xsl:attribute> 
       </xsl:otherwise> 
      </xsl:choose> 
      <xsl:value-of select="@text" /> 
      <xsl:if test="node"> 
       <xsl:value-of select="$pointer" disable-output-escaping="yes"/> 
      </xsl:if> 
      </a> 
      <xsl:if test="node"> 
      <div class="sub"> 
       <div class="container"> 
        <xsl:apply-templates select="node"> 
        <xsl:with-param name="level" select="$level + 1" /> 
        </xsl:apply-templates> 
       </div> 
      </div> 
      </xsl:if> 
     </li> 
     </xsl:when> 

     <xsl:when test="$level=1"> 
     <ul class="megamenusubcontent"> 
      <li class="subheader"> 
      <h2> 
       <a> 
       <xsl:choose> 
        <xsl:when test="@enabled = 1"> 
        <xsl:attribute name="href"> 
         <xsl:value-of select="@url"/> 
        </xsl:attribute> 
        </xsl:when> 
        <xsl:otherwise> 
        <xsl:attribute name="href">#</xsl:attribute> 
        <xsl:attribute name="onclick">return false</xsl:attribute> 
        </xsl:otherwise> 
       </xsl:choose> 
       <xsl:value-of select="@text" /> 
       </a> 
      </h2> 
      </li> 

      <xsl:if test="node"> 
      <xsl:apply-templates select="node"> 
       <xsl:with-param name="level" select="$level + 1" /> 
      </xsl:apply-templates> 
      </xsl:if> 
     </ul> 
     </xsl:when> 
     <xsl:otherwise> 
     <li class="sublink"> 
      <a> 
      <xsl:choose> 
       <xsl:when test="@enabled = 1"> 
       <xsl:attribute name="href"> 
        <xsl:value-of select="@url"/> 
       </xsl:attribute> 
       </xsl:when> 
       <xsl:otherwise> 
       <xsl:attribute name="href">#</xsl:attribute> 
       <xsl:attribute name="onclick">return false</xsl:attribute> 
       </xsl:otherwise> 
      </xsl:choose> 
      <xsl:value-of select="@text" /> 
      </a> 
     </li>  
     <xsl:if test="node"> 
      <xsl:apply-templates select="node"> 
      <xsl:with-param name="level" select="$level + 1" /> 
      </xsl:apply-templates> 
     </xsl:if> 
     </xsl:otherwise> 
    </xsl:choose> 
    </xsl:template> 

</xsl:stylesheet> 

、THX

答えて

0

私は解決策の周りに仕事を持っています。 'view all'ページを作成して非表示に設定し、IncludeHidden = "True"をddrメニュータグに追加すると、これらのページはメガメニューに表示され、サイトの左メニューには表示されません。

関連する問題