2014-05-20 2 views
0

나는 분류라는 분류법을 가지고 있습니다. 이 택 소노 미에서 나는 여러 수준의 용어를 가지고있다. 각 용어는 CategoriesTerm 콘텐츠 유형입니다.오차드 분류학 용어는 직접적인 아이들을 봅니다

프론트 엔드에서 CategoriesTerm을 클릭 할 때 사용되는 사용자 정의 면도기 템플릿 : Content-CategoriesTerm.cshtml을 정의했습니다.

이제 모든 해당 하위 항목 (있는 경우)을 해당 페이지에 표시하려고하지만 Term.Children 등의 속성이 없습니다. 면도기 뷰에서 용어의 하위 항목을 어떻게 얻을 수 있습니까?

답변

0

Taxonomy.cshtmlOrchard.Mvc.DisplayChildren을 확인하십시오. 그것은 다음과 같이 진행됩니다

@DisplayChildren이 면도기에서 수행 할 수

var tag = Tag(Model, "ul"); 
    IList<dynamic> items = Model.Items; 

    if (items.Any()) { 
     items[0].Classes.Add("first"); 
     items[items.Count - 1].Classes.Add("last"); 

<div> 
    @tag.StartElement 
     @* see MenuItem shape template *@ 
     @DisplayChildren(Model) 
    @tag.EndElement 
</div> 
당신이 좋아하는 경우 :

public IHtmlString DisplayChildren(dynamic shape) { 
     var writer = new HtmlStringWriter(); 
     foreach (var item in shape) { 
      writer.Write(Display(item)); 
     } 
     return writer; 
    } 
+0

이 답변 주셔서 감사합니다! 나는 약간 혼란 스럽다. 'Taxonomy.cshtml'을 보면 실제로이 코드를 볼 수 있지만 ** Taxonomy **의 하위 항목을 표시하는 것은 아닙니까? ** 기간 **의 자녀를 표시하려고합니다. – devqon

+0

나의 나쁜, 그것은 TaxonomyItem.cshtml이었다. 그럼에도 불구하고 그것은 그 길입니다. 당신은 또한 하나의보기에서 그것을 할 수 있지만 항상 더 나은 것을 사용하는 것이 좋습니다 ... IMHO. – ErMasca

+0

어쩌면 나는 그 바보 같지만 어떻게 이것을 사용할 수 있습니까? 이 코드를'Content-CategoriesTerm.cshtml'에 추가해야합니까? – devqon