2013-11-23 58 views
0

我在遷移使用此代碼添加一個MediaLibraryPickerField內容類型:顯示MediaLibraryPickerField模塊

ContentDefinitionManager.AlterPartDefinition("MyPart", 
    builder => builder.WithField("MyImage", 
     fieldBuilder => fieldBuilder.OfType("MediaLibraryPickerField") 
            .WithDisplayName("My Image"))); 

這讓我在我的編輯視圖媒體庫選擇器控制和按預期工作。

當我在SummaryAdmin顯示MyPart,果園試圖在這裏使用Image.SummaryAdmin.cshtml和錯誤,因爲該.As<MediaPart>返回null:

var mediaPart = ((ContentItem)Model.ContentItem).As<MediaPart>(); 

Model.ContentItem不是MediaPart,它是一個我的風格。它具有附加到MyType的ImagePart。

問題:

  1. 爲什麼圖像形狀尋找MediaPart
  2. 我怎麼能注入MediaPart作爲模型的一部分嗎? (我應該嗎?)
  3. 我應該在這裏創建一個替代視圖並深入到正確的部分?
  4. 我完全缺少如何使用MediaLibraryPickerField?
+0

您可以添加更多關於您嘗試的內容的詳細信息嗎?特別是,我不確定「當我在SummaryAdmin中顯示MyPart時」的含義。 –

回答

1
@{ 
    var mediaPart= ((Orchard.MediaLibrary.Fields.MediaLibraryPickerField)Model.Fields.Single(f => f.Name == "MyImage")).MediaParts; 
} 
+0

非常有幫助,謝謝。 –