如何在 Orchard 视图覆盖中获取 summery-image URL

How to get the summery-image URL in Orchard view override

我用Orchard CMS 1.10.1。我正在覆盖 summary display type 内容类型的视图,为此,我需要 url 显示类型摘要中的图像字段。

我可以通过这种方式获取图像 url 本身:

@Model.ContentItem.Product.Images.FirstMediaUrl

这是替代视图的一部分:

<div class="col-sm-4">
      <img src=@Model.ContentItem.Product.Images.FirstMediaUrl />
</div>

我的问题是如何获得这张图片的摘要 url?所以我可以把上面的url换成总结的

不要使用 URL 进行硬编码,而是使用 Placement.info 来获取媒体项的摘要形状。

在您看来覆盖:

<div class="col-sm-4">
    @Display(Model.ImageSummary)
</div>

在你的Placement.info

<Match ContentType="MyContentType">
    <!-- ImageSummary is the local zone name which you then can display with
         @Display(Model.ImageSummary) in Content-MyContentType.cshtml -->
    <Place Fields_MediaLibraryPicker_Summary="ImageSummary:1" />
</Match>

你可以这样做:

@{
    var image = Model.ContentItem.Product.Images.MediaParts.First();
}
<div class="col-sm-4">
    @Display(BuildDisplay(image, "Summary"))
</div>

你需要这样显示它,因为 Orchard 中的 Image 是一个内容项,但是如果你想在调整大小的同时显示图像 url 你可以执行以下操作:

@{
    var imageUrl = Model.ContentItem.Product.Images.FirstMediaUrl;
}
<div class="col-sm-4">
    <img src="@Display.ResizeMediaUrl(Width: 200, Height: 200, Mode: "crop", Alignment: "middlecenter", Path: imageUrl)" />
</div>