2015-10-15 3 views
0

Для многих созданных пользовательских типов у нас есть запрос для них. Эти запросы используются Projection Widgets (внутри зон).Метаданные изображения: altText, высота в Orchard CMS

Мало кто из пользовательских типов имеют тип медиа Picker field.The Layout я использовал для моих запросов является тип формы, как показано ниже:

= >>> Запросы: enter image description here

= >>> Макет: enter image description here. Я выполнил шаги from here.. Я указал имя формы, как: UpcomingHighlightsImages, как показано ниже:

enter image description here

, а затем включен вид: UpcomingHighlightsImages.cshtml в моей Themes/MyFirstTheme/Views папке.

Все работает отлично до этого.

В представлении проблема заключается в том, что нет способа читать метаданные изображения, такие как altText, altHeight и т. Д. Также нет способа установить эти метаданные во-первых в самом Орчард.

@using Orchard.ContentManagement 
@using Orchard.Core.Title.Models 
@using Orchard.Fields.Fields 
@using Orchard.Taxonomies.Fields 
@using Orchard.Core.Common.Fields; 
@using Orchard.MediaLibrary.Fields; 

@{ 
    var HighlightItems = ((IEnumerable<ContentItem>)Model.ContentItems).ToList(); 
} 

@foreach (var item in HighlightItems) 
    { 
     String LinkUrl = ((TextField)item.Parts.SelectMany(x => x.Fields).Single(x => x.Name == "LinkURL")).Value; 
     String ImagePath = ((MediaLibraryPickerField)item.Parts.SelectMany(x => x.Fields).Single(x => x.Name == "MainImage")).MediaParts.First().MediaUrl; 
     <div> 
      <a target="_blank" href="@LinkUrl"> 
       <img src="@ImagePath" /> 
      </a> 
     </div> 
    } 

Таким образом, как показано в коде выше, и тег, мне нужно:

  • Установите свойство AltText, altHeight изображения в Orchard CMS
  • Читайте эти, на мой взгляд, как я читать LinkUrl и ImagePath

Пожалуйста, помогите мне!

ответ

0

Посмотрите, как вы получили первую медиа-часть в этом выражении ImagePath? Ну, тогда вы можете взять эту часть и получить Title, Caption, AlternateText и т. Д. От этого. Вы также можете получить As<ImagePart>() и получить его Width и Height.