Я только начал использовать Umbraco (и бритву/mvc). Пока мне удалось настроить базовый проект, но следующий шаг - это навигация.Umbraco 7.4.3 dropdown navigation
Я читал документацию и искал фрагменты кода в Интернете, но, к сожалению, никто из них не помогает (или я могу не понимать его правильно).
код я использую сейчас выглядит следующим образом:
<ul>
@{
var homeNode = CurrentPage.AncestorsOrSelf(1).First();
// The menu items we want are all of the children of the homepage
// We also check if "Hide in navigation" is on in the menu, we shouldn't show hidden items
var menuItems = homeNode.Children.Where("UmbracoNaviHide == false");
}
<li><a href="@homeNode.Url">@homeNode.Name</a></li>
@foreach (var page in menuItems)
{
if(page.Name!="Banner Settings")
{
<li>
<a href="@page.Url">@page.Name</a>
<!-- If the page has child nodes (2nd level) that are visible and docTypeAlias is Textpage (textpages) -->
@if (page.Textpages.Where("UmbracoNaviHide == false").Count() > 0)
{
<ul>
@foreach (var childPage in page.Children.Where("UmbracoNaviHide == false"))
{
<li><a href="@childPage.Url">@childPage.Name</a></li>
}
</ul>
}
</li>
}
}
</ul>
взяты из How to create Top navigation Sub Menu in umbraco CMS using partial view.
Но, к сожалению, как сам код указывает, что только отображает текущую страницу я на и это дети.
Есть ли способ отображать ВСЕ элементы меню, включая их детей вместо текущего? Кажется, я не понимаю.
Приносим извинения за задержку! Но большое спасибо за эти фрагменты! Я установил umbraco без шаблона, поэтому я не знал об этом. Спасибо! Это помогло мне много двигаться дальше. –
Шаблоны находятся в пустой установке. Вам не нужно устанавливать стартовый комплект для доступа к ним. В разделе разработчика перейдите в Partial View Macro и нажмите кнопку «Создать», после чего вы увидите параметры шаблона. – ProNotion
Я не знал об этом ProNotion, спасибо за подсказку. Но если я вставляю вышеуказанный код (код карты сайта), он по-прежнему отображает только дочернюю страницу. –