Orchard Taxonomy术语让直接的孩子在视野中

时间:2014-05-20 18:38:52

标签: razor orchardcms taxonomy orchard-modules orchardcms-1.8

我有一个名为Categories的分类。在这个分类中,我有多个级别的术语。每个术语都是CategoriesTerm内容类型。

我已经定义了一个自定义剃刀模板:Content-CategoriesTerm.cshtml,当我点击前端的CategoriesTerm时使用它。

现在我想在该页面上显示所有直接孩子(如果有的话),但是没有像Term.Children之类的属性。如何在Razor视图中获得一个学期的孩子?

1 个答案:

答案 0 :(得分:0)

检查Taxonomy.cshtmlOrchard.Mvc.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>
如果你愿意,可以在Razor中完成@DisplayChildren:

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