2017-11-08 3 views
0

私はumbracのメニューを作ったが、私は機能するようにドロップダウンを得ることができない!以下は私のコードです:ドロップダウンメニューUmbraco

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage 

        <div class="NavDigiCampuz"> 
         <div> 
          <div class="nav nav-list tree"> 
           @{         
            var documentRootNodeId = Model.Content.GetPropertyValue("documentRoot", true); // Fetch recursive document root id. 
            var selection = Umbraco.TypedContent(documentRootNodeId).Children.Where("Visible"); // Select all nodes below the document root. 
           } 

           @foreach(var item in Model.Content.Ancestor(1).Descendants("menu")){ 
            foreach (var Menus in @item.Descendants("menuItem")){ 
             <li class="MenuItems">@Menus.Name</li> 
              foreach (var MenuItems in @Menus.Children){ 
               if(MenuItems.GetPropertyValue("hoofdstukIcoon") != "") { 
               <li><a class="NormalA" href="@MenuItems.Url"><i class="fa [email protected](MenuItems.GetPropertyValue("hoofdstukIcoon")) fa-fw"></i> @MenuItems.Name</a></li> 
                }else { 
                  <li><a class="NormalA"href="@MenuItems.Url">@MenuItems.Name</a></li> 



               var childIsActive = false; 

                foreach(var sub in @MenuItems.Children){ 
                if (CurrentPage.Url == sub.Url) { 
                 childIsActive = true; 
                } 



              <ul class="nav subnav nav-list tree @(childIsActive ? "" : "collapse")"> 
               @foreach(var sub2 in @MenuItems.Children){ 
                <li @(CurrentPage.Url == sub.Url ? "class=active" : "")> 
                 <a onclick="parent.resizeParent();" href="@sub.Url">@(sub.GetPropertyValue("hoofdstukMenuTitel") != "" ? sub.GetPropertyValue("hoofdstukMenuTitel") : sub.GetPropertyValue("hoofdstukTitel"))</a> 
                </li> 
               } 
              </ul> 
              } 
             } 
            } 
           } 
           } 
          </ul> 
          </div> 
         </div> 
        </div> 

ドロップダウンコードが<ul class="nav subnav nav-list tree @(childIsActive ? "" : "collapse")">で開始する必要がありますが、それは動作するようには思えません。以下は

私は私のページになりたい方法の簡単な構造である:Menu Structure

ヘルプ項目3は、それが今持っていないドロップダウンを持っている必要があります。私は何が欠けていますか?

答えて

0

あなたの構造のいくつかの矛盾があります。この行 を:

<div class="nav nav-list tree"> 

はこのようになります。

<ul class="nav nav-list tree"> 

そして、私はそれをwrapps <div>を削除します。

私はあなたがブートストラップのようなものを使用していると推測していますが、フレームワークかカスタムCSSを使用していますか?

あなたのサブメニューも<li>要素にネストする必要があります。

else 
{ 
    <li><a class="NormalA" href="@MenuItems.Url">@MenuItems.Name</a> 
     var childIsActive = false; 
     foreach (var sub in @MenuItems.Children) 
     { 
      if (CurrentPage.Url == sub.Url) 
      { 
      childIsActive = true; 
      } 

      <ul class="nav subnav nav-list tree @(childIsActive ? "" : "collapse")"> 
       @foreach (var sub2 in @MenuItems.Children) 
       { 
       <li @(CurrentPage.Url == sub.Url ? "class=active" : "")> 
        <a onclick="parent.resizeParent();" href="@sub.Url">@(sub.GetPropertyValue("hoofdstukMenuTitel") != "" ? sub.GetPropertyValue("hoofdstukMenuTitel") : sub.GetPropertyValue("hoofdstukTitel"))</a> 
       </li> 
       } 
      </ul> 
      } 
     </li> 

}