对于创建的许多自定义类型,我们为它们提供了一个查询。Projection Widgets (Within Zones) 正在使用这些查询。
很少有自定义类型具有 Media Picker 字段。我用于查询的布局类型是 Shape 类型,如下所示:
=>>> 布局:
。我已按照此处的步骤进行操作。. 我将形状的名称指定为:UpcomingHighlightsImages
如下所示:
然后包含视图:UpcomingHighlightsImages.cshtml
在我的Themes/MyFirstTheme/Views
文件夹中。
到这里为止一切正常。
在视图中,问题是没有办法读取图像元数据,如 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 属性
- 在我看来阅读这些,我阅读的方式
LinkUrl
和ImagePath
请指导我!