다음과 같이 내 탐색/노드 구조는 다음과 같습니다Umbraco 및 면도기 : CurrentPage/모델은 아동, 상태 인 경우
홈을
--About 우리
--Our 서비스
----- 금융
----- 보험
현재 코드가 노드를 반복하고 있습니다. 'CurrentPage'에 자식이 있으면 메뉴에는 자식이 포함됩니다.
이 루프의 문제는 자녀 (금융 또는 보험) 중 하나가 '현재 페이지'일 때 CurrentPage에 더 이상 자식이 없기 때문에 '서비스'노드의 'if'조건이 실패하므로 'Finance '및'보험 '이 더 이상 메뉴에 남아 있지 않습니다.
나에게 'if', '||' 기본적으로 감사
<ul>
@foreach (var page in @CurrentPage.AncestorOrSelf(1).Children)
{
<li class="menuItems @(page.IsAncestorOrSelf(CurrentPage) ? "selected" : null)">
<a href="@page.Url">@page.Name test</a>
</li>
if (@CurrentPage.Children.Count() > 0)
{
foreach (var childPage in page.Children)
{
<li class="menuItems menuChildItems @(childPage.IsAncestorOrSelf(CurrentPage) ? "selected" : null)">
<a href="@childPage.Url">@childPage.Name</a>
</li>
}
}
}
</ul>
안녕하세요, 예 가정은 레벨 1입니다. 코드로 레벨 3의 서브 페이지가 항상 표시됩니다. 부모가 선택되었을 때만 나타 내기를 원합니다. 감사합니다 – ManxJason
안녕하세요, 그렇지 않습니다. 동일한 문제가 발생하는 'if'를 지정하지 않으면 금융 및 보험이 항상 표시됩니다. 위의 코드는 기본적으로 내 리팩토링, if 조건을 뺀 것입니다. 환호 – ManxJason
나는 그것을 이해하지 못 했어. 내 대답을 업데이 트됩니다 ..하지만, SEO 이유로, 당신은 CSS를 대신 이러한 숨길해야 기억하십시오. –