我的问题与questions/10369967/orchard-cms-how-to-add-media-picker-field-to-anew-module 类似
我创建了一个新的内容部分,它有一个选择列表、一个文本框和......我想包括一个媒体选择器文件。
我已根据 Bertrand Le Roy 的建议将此添加到内容部分:
ContentDefinitionManager.AlterPartDefinition("Product",
builder => builder.WithField("ProductImage",
fieldBuilder => fieldBuilder
.OfType("MediaPickerField")
.WithDisplayName("Product Image")));
但是我不知道如何在我的自定义编辑器视图中显示它
我确信应该有像 @Display(Model.ProductImage) 这样简单的东西......但是我已经按照Orchard 文档中的内容部分进行了编写,并且我的编辑器视图中的模型不是动态的。
因此,如果存在像 @Display(Model.ProductImage) 这样的魔法,我如何将媒体选择器项添加到我的视图模型中?
更新
媒体选择器字段似乎显示在我添加此部分的内容类型上,而不是我想要的位置!我想显示/隐藏此字段偏向于从选择列表中选择的值,如何停止字段内容项的默认呈现并在我的自定义视图中呈现它?
更新 2
我在模型中添加了这个
public MediaPickerField MediaPicker
{
get{ return (MediaPickerField)((dynamic)ContentItem).HeaderPart.Image;}
}
这对视图
@Html.Partial("EditorTemplates/Fields/MediaPicker.Edit", Model.MediaPicker)
这是placement.info
<!-- MediaPicker -->
<Place Fields_MediaPicker_Edit="-"/>
现在它在通过 cms end 进行编辑时看起来很正确......但似乎没有将图像保存到数据库中!