我的问题类似于questions/10369967/orchard-cms-如何将媒体选择器字段添加到新模块 https://stackoverflow.com/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) 这样简单的东西......但我已经遵循了编写内容部分 http://docs.orchardproject.net/Documentation/Writing-a-content-part形成 Orchard 文档,并且我的编辑器视图中的模型不是动态的。
因此,如果像 @Display(Model.ProductImage) 这样的魔法存在,我如何将媒体选择器项目添加到我的视图模型中?
Update
媒体选择器字段似乎显示在我添加此部分的内容类型上,但不是我想要的地方!我想显示/隐藏此字段,该字段偏向于从选择列表中选择的值,如何停止字段“内容项”的默认呈现并在我的自定义视图中呈现它?
Update 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 端进行编辑是正确的......但似乎没有将图像保存到数据库!