2014-01-07 2 views
3

여기에 뭔가가 없어서 생생하게 느껴질 수 있습니다.부품을 편집 할 때 MediaLibraryPickerField 표시

ContentDefinitionManager.AlterPartDefinition(typeof (FloorPlanPart).Name, cfg => cfg 
       .WithField("Photo", f => f 
        .OfType("MediaLibraryPickerField") 
        .WithDisplayName("Photo") 
        .WithSetting("MediaLibraryPickerFieldSettings.Required", "true"))); 

내가이 분야 내 부분에 올바르게 추가 된 것을 확인할 수 있습니다

나는 내가 만든 일부에 MediaLibraryPickerField을 추가했습니다. 이 부분은 사용자 정의 유형에 속하는 :

ContentDefinitionManager.AlterTypeDefinition("FloorPlan", cfg => cfg 
       .WithPart(typeof(FloorPlanPart).Name) 
       .Creatable() 
       .Draftable(false)); 

내가 편집에서 다음을 반환하는 내 드라이버 설정을 가지고 :

@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> 

:

protected override DriverResult Editor(FloorPlanPart part, dynamic shapeHelper) 
     { 
      return ContentShape("Parts_FloorPlan_Edit", 
       () => shapeHelper.EditorTemplate(
        TemplateName: "Parts/FloorPlan", 
        Model: part, 
        Prefix: Prefix)); 
     } 

내 편집보기는 다음과 같습니다 어떤 곳에서는 라인을 따라 Media picker가 나타나기는하지만 새로운 Floor Plan을 만들 때 결코 나타나지 않습니다. 내가 얻는 것은 단지 내 부분 (FloorPlanName)의 필드입니다. 미디어 선택 도구를 표시하려면 어떻게합니까? 미디어 선택기를 콘텐츠 형식의 필드로 추가하면 표시되지만 그렇게하지 않아야합니다.

+0

왜이 부분에서 원하는가요? 왜 이것이 현장이 아닌 부품의 특성입니까? –

+0

좋은 질문입니다. 부품의 속성이라면 인터페이스를 올바르게 제어 할 수 있습니까? 필자는 내장 된 오차드 컨트롤을 대신 사용할 수있는 (필드로)이 방법으로 수행했다고 가정했습니다 (표시/저장). –

+0

누구든지이 점에 대해 좋은 참고 자료를 가르쳐 줄 수 있습니까? 내가 찾은 것은 불완전한 exampled와 질문입니다. –

답변

0

신기한 실수로 Orchard 1.7.2의 최신 버전을 사용하고 있지만 1.6.2를 사용하고 있다고 생각했습니다.

관련 문제