Orchard CMS ContentShapes - 我可以添加包装器吗?

时间:2015-09-08 09:54:09

标签: orchardcms shapes

我在OrchardCMS中有一个资源,我通过一些较小的形状显示(这样我就可以调整placement.info中的布局顺序)。

在驱动程序中,我通过使用返回组合(ContentShape(...),ContentShape(...),ContentShape(...)等来返回这些部分

但是我希望每个较小形状的HTML都出现在HTML包装器中(例如div或文章等)

我该怎么做?

由于

2 个答案:

答案 0 :(得分:1)

我理解你想要实现的目标,但这不是一个真正可行的方案。包装器应用于形状,并且组合返回多个形状。正如您所说,每个形状在placement.info文件中都有一个条目,因此您可以轻松地将这些形状放在页面周围的不同内容区域或区域中,而包装器将无效。有意义吗?

答案可能是你需要为你正在显示的内容类型的内容视图创建一个覆盖,并在那里添加你想要放在包装器中的东西。例如如果您的内容类型名为MyType且显示的类型是详细信息,则您的视图将被称为Content-MyType.Detail.cshtml。

答案 1 :(得分:0)

你的意思是一个Orchard包装器(全新的cshtml文件),还是只是一个HTML元素?

在后一种情况下,您可以在您的部分视图中执行:

@{
    var tag = Tag(Model, "article");
}

@tag.StartElement

    stuff

@tag.EndElement

如果要在元素周围包装(通用)包装器,可以在placement.info中执行以下操作:

<Place Parts_MyPart="Content:1;Wrapper=MyWrapper" />
<Place Parts_MyOtherPart="Content:2;Wrapper=MyWrapper" />

并创建一个MyWrapper.cshtml:

<article>
    @Display(Model.Child)
</article>