我已使用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"/>
答案 0 :(得分:1)
在您的Content-Product.cshtml视图中,您需要这样:
@Display(Model.PriceZone)