是否可以在一种显示类型中渲染一个部件两次? - 果园内容管理系统

Is it possible to render a part twice in one display type? - Orchard CMS

我有一个内容类型“事件”,它有一部分 "StartDate" 我需要在摘要视图中显示两次。是否可以在 placement.info 内渲染 "this" 区域和 "that" 区域中的部分?

不,不可能,只有文件 placement.info 中的第一个有效。

渲染区域两次

可能不只是使用 placement.info 文件,但如果您编辑 .cshtml 视图,您可以渲染一个区域两次。

为了进行测试,我刚刚编辑了我的博客详细信息视图以包含以下代码:

    @Display(Model.Content)
    @Display(Model.Content)

成功了,显示了两次。这是你应该小心的事情,因为在那个例子中它渲染了我的 Disqus 评论两次,这造成了冲突,因为同一个 ID 在一个页面上被使用了两次。

使用 Part Relocation 对其进行微调

如果您需要从现有区域中提取一点内容 (a shape/part),您也可以使用称为“部分重定位”的方法来完成此操作 Orchard Harvest Session

基本思路是利用放置将其隔离到自己的区域:

<Match ContentType="News" DisplayType="Detail">
    <Place Parts_StartDate="MakeUpAZoneName" />
</Match>

(注意:Match 标签只是一个例子,它的 Place 你需要输入任何你想要的匹配项)

然后您可以使用 @Display() 在您的 .cshtml 文件中呈现它,例如:

@Display(Model.MakeUpAZoneName)

... other html code ...

@Display(Model.MakeUpAZoneName)

您不能渲染相同的形状两次,但您可以 return 组合驱动程序中的形状并在不同区域渲染每个形状。