Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orchardcms orchard cms:如何向自定义部件添加媒体选择器字段_Orchardcms - Fatal编程技术网

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

Orchardcms orchard cms:如何向自定义部件添加媒体选择器字段,orchardcms,Orchardcms,我的问题很简单 我已经创建了一个新的内容部分,它有一个选择列表,一个文本框和。。。我想包括一个媒体选择器文件 我已将此添加到内容部分,并附上Bertrand Le Roy的建议: ContentDefinitionManager.AlterPartDefinition("Product", builder => builder.WithField("ProductImage", fieldBuilder => fieldBuilder

我的问题很简单

我已经创建了一个新的内容部分,它有一个选择列表,一个文本框和。。。我想包括一个媒体选择器文件

我已将此添加到内容部分,并附上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端编辑的。。。但似乎无法将图像保存到数据库中

应该类似于
@Model.ContentItem.Product.ProductImage.Url

使用这个((动态)Model.ContentItem.Product.ProductImage我得到了Orchard.Fields.Fields.MediaPickerField,但是如果我添加Url属性,并且它是我想要构建和呈现的形状,就什么都没有了。现在你已经移动了goalpost;)看起来你想做的和你原来的问题所建议的很不一样。看起来您正试图在一个非常定制的情况下重用媒体选择器字段。换句话说,重复使用它的UI,而不是字段本身。TinyMCE的媒体选择器扩展可能是定制部件代码的更好起点。我认为它是在研究过程中添加定义。。。但我明白你的意思。我在想,一定有一个模块在某个地方完成了这个任务,但想不出是哪一个。谢谢我来看看TinyMCE