2012-09-12 3 views
2

내 질문을 미디어 선택기 필드를 추가하는 방법을 내가 선택 목록, 텍스트 상자가있는 새로운 콘텐츠 부분을 만든 questions/10369967/orchard-cms-how-to-add-media-picker-field-to-anew-module과수원 CMS : 사용자 정의 부분에

에 simmalar입니다 ... 내가 원하는 제출 된 미디어 피커를 포함합니다.

나는의 베르트랑 르 로이의 제안과 콘텐츠 부분에 이것을 추가 한 : 나는 확신

내 사용자 정의 편집기보기에이 표시하는 방법에 대한 아무 생각도 없어 그러나

ContentDefinitionManager.AlterPartDefinition("Product", 
    builder => builder.WithField("ProductImage", 
     fieldBuilder => fieldBuilder 
      .OfType("MediaPickerField") 
      .WithDisplayName("Product Image"))); 

@Display (Model.ProductImage)와 같은 간단한 것이 있어야합니다 ... 그러나 나는 writing a content part 양식을 따라 오차드 문서를 만들고 내 편집기보기에서 내 모델은 동적이 아닙니다.

그래서 @Display (Model.ProductImage)와 같은 마술이 있다면, 뷰어 모델에 미디어 선택기 항목을 추가하려면 어떻게해야합니까?

업데이트

미디어 선택기 필드 그냥 내가 그것을 원하지 경우, 나는이 부분을 추가 할 컨텐츠 유형을 보여주는 것 같다! 이 필드를 선택 목록에서 선택한 값에 바이어스 표시하거나 숨기려면 필드 항목의 기본 렌더링을 중지하고 내 사용자 정의보기에서 렌더링 할 수 있습니까?

업데이트 2

내가보기

@Html.Partial("EditorTemplates/Fields/MediaPicker.Edit", Model.MediaPicker) 

에 모델

public MediaPickerField MediaPicker 
     { 
      get{ return (MediaPickerField)((dynamic)ContentItem).HeaderPart.Image;} 

     } 

이이를 추가 한이는 placement.info

<!-- MediaPicker --> 
    <Place Fields_MediaPicker_Edit="-"/> 
입니다

이제는 cms end를 통해 편집하는 것처럼 보입니다 ... 그러나 dosen't는 이미지를 데이터베이스에 저장하는 것 같습니다!

+1

같은 것을 지금 당신이 골대를 이동 한되어야한다 그것은 원래의 질문에 제안 것과 매우 다른 무엇 당신이하려고하는 것 같다). 매우 맞춤화 된 상황에서 미디어 선택기 필드를 다시 사용하려는 것 같습니다. 다시 말해 UI 자체는 재사용하지만 실제 필드 자체는 다시 사용하지 마십시오. TinyMCE의 미디어 선택 도구 확장은 사용자 정의 파트의 코드를위한 더 좋은 시작점 일 수 있습니다. –

+0

연구 중에 정의를 추가하는 것으로 봅니다. ...하지만 당신의 요점을 봅니다. 나는 이것을 어딘가에 투여하는 모듈이 있어야한다고 생각하고 어떤 모듈을 생각할 수 없었습니다. 덕분에 TinyMCE – Axe

답변

3

@Model.ContentItem.Product.ProductImage.Url

+2

((동적) Model.ContentItem) .Product.ProductImage를 사용하여 보도록하겠습니다. Orchard.Fields.Fields.MediaPickerField를 얻을 수 있지만 URL 속성과 해당 모양을 추가하면 아무것도 표시되지 않습니다. 빌드 및 렌더링. – Axe

관련 문제