在视图中渲染形状

时间:2015-04-25 13:51:42

标签: orchardcms

我已使用Product创建了ContentType ProductPart,但由于产品的html相当复杂,我决定使用一个视图 Content-Product.cshtml 并全部渲染手动而不是使用形状的零件信息。但我仍然需要为价格渲染一个形状,因为我需要通过服务格式化它,我想在ProductPart驱动程序中执行此操作。

我尝试在此视图中定义新的区域,并使用 placement.info 放置形状。它所做的只是它呈现形状的类型名称而不是html。

Orchard.DisplayManagement.Shapes.Shape

我甚至可以使用这种方法插入形状吗?或者我应该选择不同的方法?

驱动程序:

protected override DriverResult Display(ProductPart part, string displayType, dynamic shapeHelper)
{
    return ContentShape("Parts_Product_Price",
    () => shapeHelper.Parts_Product_Price(
        ContentPart: part,
        ContentItem: part.ContentItem));
}

内容-Product.cshtml:

@Model.PriceZone()

Placement.info:

<Place Parts_Product_Price="PriceZone:1"/>

1 个答案:

答案 0 :(得分:1)

在您的Content-Product.cshtml视图中,您需要这样:

@Display(Model.PriceZone)