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

时间:2016-08-09 10:44:01

标签: orchardcms

我使用Orchard CMS 1.10.1。我重写了summary display type内容类型的视图,为此,我需要在显示类型摘要中显示图像字段的URL。

我可以通过这种方式获取图片:

@Model.ContentItem.Product.Images.FirstMediaUrl

这是视图的一部分:

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

我的问题是如何获得此图片摘要的网址?所以我可以用摘要替换上面的url。

2 个答案:

答案 0 :(得分:3)

你可以这样做:

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

您需要像这样显示它,因为Orchard中的Image是一个内容项,但如果您想通过调整大小来显示图片网址,则可以执行以下操作:

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

答案 1 :(得分:1)

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

在您的视图中覆盖:

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