2012-04-05 4 views
1

현재 문서를 기반으로 하위 메뉴를 만드는 다음 코드가 있습니다. 이 문서에는 하위 메뉴가 있습니다.면도칼 스크립트로 Umbraco에서 현재 하위 메뉴의 스타일을 지정하는 방법

현재 항목을 확인하는 방법은 무엇입니까? 해당 항목이 현재 항목 일 때 하위 메뉴에서 항목의 스타일을 지정하고 싶습니다.

현재 을 (를) 통해 현재 항목을 찾을 수 있지만이 기능은 작동하지 않습니다. Documents.

수정하려는 코드입니다.

@foreach (var node in new Document(999).Children) 
{ 
    <li>@node.Id</a> 
     @{ var mychildren = node.Children; 
      if (mychildren.Count() > 0) 
      { 
      <ul> 
       <li>@node.id</a></li> 
       @foreach (var snode in mychildren) 
       { 
        <li>@snode.id</a></li> 
       } 
      </ul> 
     } 
    </li> 
    } 
} 

답변

4

왜 Document 대신 DynamicNode를 사용하지 않으시겠습니까? 도우미를 사용하여 클래스를 확인하고 추가 하시겠습니까? 예 :

<ul> 
@foreach (var node in new Library.NodeNyId(999).Children) 
{ 
    <[email protected](node)><a href="@node.NiceUrl">@node.Name</a></li> 
    @{ 
     var mychildren = node.Children; 
     if (mychildren.Count() > 0) 
     { 
     <ul> 
      @foreach (var snode in mychildren) 
      { 
       <[email protected](snode)><a href="@snode.NiceUrl">@snode.Name</a></li> 
      } 
     </ul> 
     } 
    } 
    </li> 
    } 
} 
</ul> 

@helper getClasses(dynamic node) 
{ 
    string classes = ""; 

    if (Model.Id == node.Id) 
    { 
     classes = " class=\"active\""; 
    } 

    @Html.Raw(classes); 
} 

합니다 (Library.NodeById 방법은 DynamicNode 개체를 반환합니다.)

+0

감사합니다. 너는 내 하루를 구했다. 그게 내가 찾고 있던거야! –

관련 문제