2015-11-23 72 views
0

我工作的一個項目,是我要添加頂部鏈接到母版和每一個頂部鏈接有自己的導航是這樣的: enter image description hereURL路徑是錯誤的

我所做的是包括頂部鏈接直屬內容

enter image description here

與然而,這個問題是,在非主頁鏈接

選擇菜單時,對於考試的URL路徑是錯誤的如果我選擇用於skolpersonal作爲頂級鏈接,然後選擇一個菜單,然後選擇一個子菜單,URL路徑將爲:菜單/子菜單 我想要的是:for-skolpersonal/menu/submenu 由於某種原因,每次我在頂部鏈接下選擇一個菜單時,URL都會「重置」。

母版:

<header> 
     <div class="row col-md-12"> 
      <nav class="entry-links"> 
       <ul> 
        <li id="elever"> 
         <a href="~/" title="För elever">För elever</a> 
        </li> 
        <li id="skolpersonal"> 
         <a href="/for-skolpersonal/" title="För skolpersonal">För skolpersonal</a> 
        </li> 
        <li id="ungdom"> 
         <a href="/ungdom-och-elevdatabas/" title="Ungdom och elevdatabas">Ungdom och elevdatabas</a> 
        </li> 
       </ul> 
      </nav> 
     </div> 
     <div class="row"> 
      <div class="col-xs-8 col-sm-12 col-md-4"> 
       <a href="@home.Url"> 
        <div class="brand" style="background-image:url('@(home.SiteLogo)?height=100&width=700&')"></div> 
       </a> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col-md-12 main-nav"> 
       <nav id="cbp-hrmenu" class="meny cbp-hrmenu col-md-10 col-md-offset-1"> 
        @{ Html.RenderPartial("MainNavigation"); } 
       </nav> 
      </div> 
      <br /> 
      <br /> 
     </div> 
     <div class="container-fluid"> 
      <div class="container"> 
      </div> 
     </div> 
     <div id="toggle" class="toggle"> 
      <a href="#" class="cross"><span></span></a> 
     </div> 
    </header> 

主導航:

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage 
@{ var home = CurrentPage.Site(); } 

@if (home.Children.Any()) 
{ 



    @* Get the first page in the children *@ 
    var naviLevel = home.Children.First().Level; 
    @* Add in level for a CSS hook *@ 
    <div class="linje"></div> 
    <ul class="meny [email protected]"> 
     @* For each child page under the home node *@ 
     @foreach (var childPage in home.Children) 
{ 

    if (childPage.Children.Any()) 
    { 

     <li class="dropdown has-child @(childPage.IsAncestorOrSelf(CurrentPage) ? "selected" : null)"> 
      @if (childPage.DocumentTypeAlias == "Huvudmeny") 
      { 
       <span>@childPage.Name</span> 
       @childPages(childPage.Children) 
      } 
      else 
      { 
       <a href="@childPage.Url" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">@childPage.Name</a> 
      } 

      @helper childPages(dynamic pages) 
{ 
      @* Ensure that we have a collection of pages *@ 

    if (pages.Any()) 
    { 
     @* Get the first page in pages and get the level *@ 
     var naviLevel = pages.First().Level; 

     @* Add in level for a CSS hook *@ 

    <ul class="meny dropdown-menu sublevel [email protected](naviLevel)"> 
     @foreach (var page in pages) 
     { 
      <li> 
       <a href="@page.Url">@page.Name</a> 

       @* if the current page has any children *@ 
       @if (page.Children.Any()) 
       { 
        @* Call our helper to display the children *@ 
        @childPages(page.Children) 
       } 
      </li> 
     } 
    </ul> 
    } 
} 
     </li>    
    } 

    else 
    { 
       <li class="@(childPage.IsAncestorOrSelf(CurrentPage) ? "selected" : null)"> 
        <a href="@childPage.Url">@childPage.Name</a> 
      </li> 
      } 
     } 
    </ul> 
     <div class="linje col-md-12" ></div> 
} 

有沒有一種方法,使URL路徑走,因爲我希望他們? topmenu /菜單/子菜單

我正在使用Umbraco。

回答

1

要在路徑中包含頂級節點去你的web.config文件umbracoHideTopLevelNodeFromPath應用程序設置的值改爲從truefalse

+0

謝謝,我一直在尋找一個解決方案的日子,現在這解決了它。 – John