orchard cms:如何将媒体选择器字段添加到自定义部件

时间:2012-09-12 11:58:43

标签: orchardcms

我的问题与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")));

但是我不知道如何在我的自定义编辑器View

中显示它

我确信应该有像@Display(Model.ProductImage)这样容易的东西......但我已经跟随了writing a content part形式的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结束编辑...但似乎没有将图像保存到数据库!

1 个答案:

答案 0 :(得分:3)

应该是@Model.ContentItem.Product.ProductImage.Url