0

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

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

现在我想在该页面上显示所有直接子项(如果有),但没有类似的属性Term.Children。如何在 Razor 视图中获取术语的子项?

4

1 回答 1

1

检查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;
    }
于 2014-05-21T08:26:26.757 回答