URL路径错误
URL pathway is wrong
我正在做一个项目,我想将 top link 添加到 masterPage 并且每个 top-link 都有自己的导航,如下所示:
我所做的是将顶部link直接包含在内容
下
然而,问题是 select 在非主页 link
下打开菜单时 URL 路径是错误的
例如,如果我 select For skolpersonal 作为 top-link 然后 select 菜单和子菜单, URL 路径将是:menu/submenu
我想要的是:for-skolpersonal/menu/submenu
出于某种原因 URL "resets" 每次我 select 菜单下的顶部-link.
主页:
<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 level-@naviLevel">
@* 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 level-@(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 途径如我所愿? 顶部菜单/menu/submenu
我正在使用 Umbraco。
要在路径中包含顶级节点,请转到您的 web.config 文件并将 umbracoHideTopLevelNodeFromPath
应用程序设置的值从 true
到 false
.
我正在做一个项目,我想将 top link 添加到 masterPage 并且每个 top-link 都有自己的导航,如下所示:
我所做的是将顶部link直接包含在内容
下然而,问题是 select 在非主页 link
下打开菜单时 URL 路径是错误的例如,如果我 select For skolpersonal 作为 top-link 然后 select 菜单和子菜单, URL 路径将是:menu/submenu 我想要的是:for-skolpersonal/menu/submenu 出于某种原因 URL "resets" 每次我 select 菜单下的顶部-link.
主页:
<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 level-@naviLevel">
@* 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 level-@(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 途径如我所愿? 顶部菜单/menu/submenu
我正在使用 Umbraco。
要在路径中包含顶级节点,请转到您的 web.config 文件并将 umbracoHideTopLevelNodeFromPath
应用程序设置的值从 true
到 false
.