orchardcms - 我可以配置 Orchard 媒体库选取器字段以要求具有特定尺寸的图像吗?

标签 orchardcms orchardcms-1.7

过去我使用过 Image Field Module要求用户提供特定尺寸的图像,效果很好。我喜欢新的媒体库选择器字段,它与图像编辑器模块集成,可以进行裁剪和调整大小。

我想做的是使用媒体库选择器字段,但要求用户将图像裁剪和/或重新调整为特定尺寸。有什么方法可以这样配置吗?到目前为止,我想到的最好的办法是向用户提供一些帮助文本,建议他们将图像大小调整为所需的尺寸。

如果我必须让图像符合特定尺寸,我应该坚持使用图像字段吗?还是有更好的方法使用媒体库选择器字段?

最佳答案

您无法使用 Orchard 1.7+ 媒体处理功能强制为图像提供特定尺寸,但您可以确保它以正确的尺寸显示

Orchard 1.7 引入了媒体配置文件的概念,它可以有效地允许您创建一堆图像转换,命名它们,然后在整个网站中任意使用它们。

在最近的一个项目中,我收到了 Orchard 网站上推荐页面的大量客户个人资料图片。它们有各种不同的尺寸,我知道我至少需要 2 种不同的尺寸(一种用于主推荐页面,另一种较小的用于其他页面上显示的推荐小部件)。

在管理仪表板中,我转到“媒体”->“配置文件”,创建了一个名为 Customer_Profile_Regular 的新媒体配置文件,然后添加了“调整大小”过滤器以将其缩小到 100x100 像素(调整大小过滤器非常灵活,您可以创建自己的过滤器通过实现 IImageFilterProvider 接口(interface)即可轻松实现)。

我对第二个配置文件 Customer_Profile_Small 执行了相同的操作,缩小到 50x50。

然后,使用形状跟踪,我覆盖了现有的媒体库选择器字段显示形状,并将其替换为:

@{
   var imagesField = Model.ContentItem.Testimonial.CustomerProfile;
}
@if(imagesField.MediaParts.Any()) {
    <div class="customer-profile-image">
        @Display.MediaUrl(Profile: "Customer_Profile_Regular", Path: imagesField.MediaParts.First().MediaUrl)
    </div>
}

对于推荐小部件,这只是创建类似形状覆盖并提供其他配置文件名称的情况。

现在我可以将任何图像上传到我的媒体库,并将其用作推荐中的客户个人资料图像。 Orchard 将根据我告诉其使用的配置文件自动调整图像大小(或对其执行其他操作),其结果存储在网站的 Media 文件夹中,以便仅在必要时重新生成。

关于orchardcms - 我可以配置 Orchard 媒体库选取器字段以要求具有特定尺寸的图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19390182/

相关文章:

twitter-bootstrap - 在 Orchard 中的 PJS.Bootstrap 默认 css 之后加载 custom.css

forms - Orchard CMS 在使用工作流程提交表单后将电子邮件发送到多个/不同的电子邮件地址

css - Orchard CMS 确认消息出现在桌面上,但不会出现在手机或平板电脑上。试图修复它适用于所有

ssl - 如何使用后端删除 Orchard 站点中的 SSL 重定向?

azure - Orchard NHibernate.Linq 错误

c# - 自定义内容类型中的 MediaLibraryPickerField 不显示

.net - Orchard CMS - 删除发布日期和时间页面

download - Orchard CMS 客户端中的文件列表?