我在OrchardCMS中有一个资源,我通过一些较小的形状来显示(这样我就可以在placement.info中调整布局顺序)。
在驱动程序中,我通过使用返回组合(ContentShape(…),ContentShape(…),ContentShape(…))等返回这些部分
然而,我希望每个较小的形状的HTML出现在HTML包装器(如div或文章等)
我该怎么做呢?
谢谢
我明白你想要达到的目的,但这真的不是一个可行的方案。将包装器应用于形状,并将其组合返回多个形状。正如您所说,每个形状在placement.info文件中都有一个条目,因此您可以很容易地将这些形状放置在不同的内容区域或分布在页面周围的区域中,在这些区域中包装器是无法工作的。有意义吗?
答案可能是您需要为您正在显示的内容类型的内容视图创建一个覆盖,并在其中添加您想要放入包装器中的内容。例如,如果你的内容类型是MyType,而显示的类型是detail,那么你的视图将被命名为content -MyType. detail .cshtml.
您是指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>