Orchard CMS:如何在视图中显示布局部件?

时间:2016-01-24 08:13:07

标签: html razor orchardcms

我尝试为返回多个页面的查询指定不同的查询布局,并按照此优秀指南完全接管列表的呈现:http://www.ideliverable.com/blog/ways-to-render-lists-of-things

我有基本的实现设置,并且通过使用以下简单的渲染代码知道它正在工作:

@using Orchard.ContentManagement
@using Orchard.Core.Title.Models
@using Orchard.Layouts.Models

@{
  var webPages = ((IEnumerable<ContentItem>)Model.ContentItems).ToList();
}

@foreach (var wp in webPages)
{
  var titlePart = wp.As<TitlePart>();
  var wpTitle = titlePart.Title;

  <p>@T("{0} Title is ", wpTitle)</p>
}

问题: 但是,当试图包含每个页面的布局时,我似乎无法弄清楚如何?使用下面的代码,只有文字&#39; Orchard.Layouts.Models.LayoutPart&#39;在HTML中错误地呈现。

  var layoutPart = wp.As<LayoutPart>();
  @Display(layoutPart)

因此,我假设LayoutPart与Orchard中的其他常见部分不同,因为我还测试了许多其他部分都成功渲染,除了布局(我认为必须构建LayoutPart)不知怎的,在被展示之前,但那是抓着稻草)?

那么怎么样呢?

1 个答案:

答案 0 :(得分:4)

有趣的是,你基本上是正确的。在显示之前必须构建布局:

@Display(BuildDisplay(layoutPart, "#display type#")) //display type: Summary / Detail