创建图片园
这篇文章是面向Orchard开发人员的。你将创建一个显示图片缩略图的园,这些图片从图片文件夹中选择。另外,你还可以通过alternate和css自定义显示效果。
- 进入内容类型管理页面。
- 点击"Create new type"。
- 填入My Image Gallary。
-
创建。
- 在元件选择页面,选中Widget,保存。
- 在内容类型编辑页面,Stereotype字段填入Widget。
- 在内容类型编辑页面,点击Add field。
- 选择Media Library Picker Field,文本框填入My Media Library Picker Field,保存
- 点击"My Media Library Picker Field "旁边的小三角。
- 选中"Allow multiple content items"
- 保存。
- 点击后台的Widgets菜单项(部件)。
- 点击AsideFirst块右边的Add
- 选择上面创建的My Image Gallary部件
- 输入Title,比如:My Gallery Widget
- 点击"My Media Library Picker Field"下面的Add按钮,选择图片(注意,按住Ctrl,可以多选图片)
- 点击发布
- 访问前端页面
- 打开Shape Tracing特性,查看图片园的Shape名称(Fields_MediaLibraryPicker)。
- 在你的主题中,创建一个Fields_MediaLibraryPicker的特例模板
- 编辑模板的HTML和CSS。
- 下面是一个Fields_MediaLibraryPicker.cshtml模板的例子:
@using Orchard.MediaLibrary.Fields
@using Orchard.Utility.Extensions;
@{
var field = (MediaLibraryPickerField) Model.ContentField;
string name = field.DisplayName;
var contents = field.MediaParts;
}
<section class="media-library-picker-field media-library-picker-field @name.HtmlClassify()">
@foreach(var content in contents)
{
<div>
@Display(BuildDisplay(content, "Summary"))
</div>
}
</section>
Media.Summary.cshtml
@using Orchard.MediaLibrary.Models
@using Orchard.Utility.Extensions;
@{
MediaPart mediaPart = Model.ContentItem.MediaPart;
}
<a href="@mediaPart.MediaUrl">
<img
src="@Display.ResizeMediaUrl(Width: 200, Height: 200, Mode: "crop", Alignment: "middlecenter", Path: mediaPart.MediaUrl)"
alt="@mediaPart.Caption" class="thumbnail"/>
</a>