是否可以在一种显示类型中渲染两次? - Orchard CMS

Kyl*_*ley 3 orchardcms

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

rtp*_*rry 6

渲染区域两次

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

对于测试我刚刚编辑了我的博客详细信息视图以获得此代码:

    @Display(Model.Content)
    @Display(Model.Content)
Run Code Online (Sandbox Code Playgroud)

它工作,并显示两次.你可能应该小心这一点,因为在那个例子中它渲染了我的Disqus评论两次创建了一个冲突,因为在一个页面上使用了两次相同的id.

使用部件重定位进行微调

如果您需要从现有区域中提取一些内容(形状/部分),您还可以使用称为"部件重定位"的内容来完成此操作,该重定位将在此Orchard Harvest会话中进行说明.

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

<Match ContentType="News" DisplayType="Detail">
    <Place Parts_StartDate="MakeUpAZoneName" />
</Match>
Run Code Online (Sandbox Code Playgroud)

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

然后你可以用你的.cshtml文件渲染出来@Display():

@Display(Model.MakeUpAZoneName)

... other html code ...

@Display(Model.MakeUpAZoneName)
Run Code Online (Sandbox Code Playgroud)