Я борюсь с очень простой навигацией Umbraco 7. В принципе, у меня есть несколько «сайтов» в одном решении - или на том же сайте, но для разных стран и языков. Их домашняя страница - это узлы верхнего уровня, и все подстраницы вложены в уровень 2 и ниже.Выходные узлы верхнего уровня в Umbraco Навигация бритвы
Это прекрасно работает для отдельных сайтов (выводящих детей узла уровня 1). Однако я хочу создать второе меню, которое выводит только узлы верхнего уровня, где я могу переключаться между разными сайтами. По какой-то причине я не могу этого сделать.
@inherits UmbracoTemplatePage
@{
var homePage = CurrentPage.AncestorsOrSelf(1).First();
var subItems = homePage.Children;
var rootItems = homePage.Siblings;
}
<ul>
@foreach (var item in subItems) {
<li>@item.Name</li>
}
</ul>
<ul>
@foreach (var item in rootItems) {
<li>@item.Name</li>
}
</ul>
Он выводит первый список отлично, но второй список не имеет выхода. Если я попытаюсь вывести @homePage.Name
, это даст мне результат, поэтому я знаю, что корневые элементы доступны.
В идеале, я хочу, чтобы он выводил все корневые узлы во второй навигации (в основном SiblinbsOrSelf()
).
Что я делаю неправильно?
Спасибо, работает как шарм. Я отредактировал ваш ответ, поскольку объявление переменной отличается от объявления, используемого в списке. – Nix
@Nix Извините, что, моя ошибка! Спасибо за редактирование. – PTuckley