Razor Orchard分类术语在视图中直接获得子项
我有一个分类法叫做分类法。在这个分类法中,我有多个级别的术语。每个术语都是一个categoriestem contenttype 我已经定义了一个定制的razor模板:Razor Orchard分类术语在视图中直接获得子项,razor,orchardcms,taxonomy,orchard-modules,orchardcms-1.8,Razor,Orchardcms,Taxonomy,Orchard Modules,Orchardcms 1.8,我有一个分类法叫做分类法。在这个分类法中,我有多个级别的术语。每个术语都是一个categoriestem contenttype 我已经定义了一个定制的razor模板:Content-categoriestem.cshtml,当我在前端单击一个categoriestem时使用它 现在我想在该页面上显示所有直接子项(如果有的话),但是没有类似于Term.children之类的属性。如何在Razor视图中获取术语的子项?检查Taxonomy.cshtml和Orchard.Mvc.DisplayChi
Content-categoriestem.cshtml
,当我在前端单击一个categoriestem时使用它
现在我想在该页面上显示所有直接子项(如果有的话),但是没有类似于
Term.children
之类的属性。如何在Razor视图中获取术语的子项?检查Taxonomy.cshtml
和Orchard.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>
谢谢你的回答!不过我有点困惑。查看
Taxonomy.cshtml
我确实看到了这段代码,但这不是为了显示分类法的子项吗?我试图显示一个术语的子项。糟糕,它是TaxonomyItem.cshtml。然而,这是一种方式。您也可以在一个视图中执行此操作,但最好使用其中的内容。。。也许我有那么笨,但我怎么能用这个呢?我是否应该将此代码添加到我的内容分类em.cshtml
?是的,回到您的问题。没有术语。儿童,但有一个模型。您应该使用的项目。使用设计器工具,您可以查看您的模型属性。让我们来看看。
public IHtmlString DisplayChildren(dynamic shape) {
var writer = new HtmlStringWriter();
foreach (var item in shape) {
writer.Write(Display(item));
}
return writer;
}