Orchardcms 编辑零件时显示MediaLibraryPickerField

Orchardcms 编辑零件时显示MediaLibraryPickerField,orchardcms,orchardcms-1.7,Orchardcms,Orchardcms 1.7,我错过了一些东西,我一辈子都想不出是什么 我已将MediaLibraryPickerField添加到我创建的零件中: ContentDefinitionManager.AlterPartDefinition(typeof (FloorPlanPart).Name, cfg => cfg .WithField("Photo", f => f .OfType("MediaLibraryPickerField")

我错过了一些东西,我一辈子都想不出是什么

我已将MediaLibraryPickerField添加到我创建的零件中:

ContentDefinitionManager.AlterPartDefinition(typeof (FloorPlanPart).Name, cfg => cfg
                .WithField("Photo", f => f
                    .OfType("MediaLibraryPickerField")
                    .WithDisplayName("Photo")
                    .WithSetting("MediaLibraryPickerFieldSettings.Required", "true")));
我可以验证此字段是否已正确添加到我的零件中。此零件属于自定义类型:

ContentDefinitionManager.AlterTypeDefinition("FloorPlan", cfg => cfg
                .WithPart(typeof(FloorPlanPart).Name)
                .Creatable()
                .Draftable(false));
我的驱动程序设置可在编辑时返回以下内容:

protected override DriverResult Editor(FloorPlanPart part, dynamic shapeHelper)
        {
            return ContentShape("Parts_FloorPlan_Edit", 
                () => shapeHelper.EditorTemplate(
                    TemplateName: "Parts/FloorPlan", 
                    Model: part, 
                    Prefix: Prefix));
        }
我的编辑视图如下所示:

@using System.Web.Mvc.Html
@model Models.FloorPlanPart
<fieldset>
    <legend>Floor Plan Fields</legend>


    <div class="editor-label">@Html.LabelFor(x => x.FloorPlanName)</div>
    <div class="editor-field">
        @Html.EditorFor(x => x.FloorPlanName)
        @Html.ValidationMessageFor(x => x.FloorPlanName)
    </div>

</fieldset>
@使用System.Web.Mvc.Html
@模型。地板平面零件
楼层平面字段
@Html.LabelFor(x=>x.FloorPlanName)
@Html.EditorFor(x=>x.FloorPlanName)
@Html.ValidationMessageFor(x=>x.FloorPlanName)

在一些地方,媒体采集器应该出现,但在创建新的平面图时却从未出现过。我得到的只是我角色中的字段(FloorPlanName)。如何让媒体选取器显示?如果我在我的内容类型中添加媒体选择器作为一个字段,它确实会显示出来,但我不应该也这样做吗?

新手错误,我以为我使用的是最新版本的Orchard 1.7.2,但使用的是1.6.2。

为什么要在该部分使用它?为什么这不是部件的属性而不是字段?好问题,如果它是部件上的属性,那么我控制接口,对吗?我认为这样做(作为一个字段)是为了让内置的果园控件接管(显示/存储)。有人能给我提供一个很好的参考吗?我所发现的都是带有不完整示例的问题。