图像元数据:altText,Orchard CMS中的高度

时间:2015-10-15 14:51:52

标签: orchardcms orchardcms-1.7 orchard-modules

对于许多创建的自定义类型,我们都有查询。 Projection Widgets(在区域内)正在使用这些查询。

很少有自定义类型具有“媒体选择器”字段。我用于查询的布局类型是Shape类型,如下所示:

=>>>查询: enter image description here

=>>>布局: enter image description here。我已按照from here.步骤进行操作。我将形状的名称指定为:UpcomingHighlightsImages,如下所示:

enter image description here

然后在我的UpcomingHighlightsImages.cshtml文件夹中包含了Themes/MyFirstTheme/Views视图。

这里的一切都很好。

在View中,问题是没有办法读取图像元数据,如altText,altHeight等......似乎没有办法在Orchard本身首先设置这些元数据。

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

所以,正如上面的代码和标签所示,我需要:

  • 在ORchard CMS中设置Image的altText,altHeight属性
  • 在我看来,请阅读LinkUrlImagePath
  • 的方式

请指导我!

1 个答案:

答案 0 :(得分:0)

了解如何在ImagePath表达式中获得第一个媒体部分?那么,您可以从中获取该部分并从中获取TitleCaptionAlternateText等。您也可以As<ImagePart>()获取WidthHeight