2016-08-09 2 views
3

Я использую Orchard CMS 1.10.1. Я переопределяю вид summary display type типа контента, для этого мне нужен URL-адрес области изображения в сводке типа отображения.Как получить URL-адрес summery-image в Orchard view override

я могу получить URL изображения itseft таким образом:

@Model.ContentItem.Product.Images.FirstMediaUrl 

Это часть обзора altenate:

<div class="col-sm-4"> 
     <img [email protected] /> 
</div> 

Мой вопрос, как я могу получить URL в резюме этого образа? Поэтому я могу заменить указанный выше URL-адрес сводной.

+0

Что вы имеете в виду под «url of summary of this image»? Orchard имеет один URL-адрес для каждого медиа-файла, хотите ли вы изменить размер URL-адреса? или вы хотите, чтобы итоговый дисплей отображался в элементе контента изображения? – mdameer

+0

Спасибо за комментирование, я хочу, чтобы итоговый дисплей для элемента контента изображения –

+0

Я не использую зоны в этом представлении только тег img и URL-адрес изображения –

ответ

3

Вы можете сделать это следующим образом:

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

Вы должны показать его, как это потому что Image в Orchard является элементом контента, но если вы хотите отображать URL-адрес изображения с изменением размера y ou может сделать следующее:

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

Отлично, спасибо, что это сработало для меня. У меня просто проблема с местом размещения. Похоже, что view alternate can not см. Layout.info текущей темы. –

1

Вместо жесткого кодирования с использованием 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> 
+0

Спасибо за ваш ответ, я сделал так, как сказал, по какой-то причине он не показывает образ. И когда я использую отслеживание формы, у него нет файла места размещения для этого. Кажется, он не распознает place.info в корне моей текущей темы. –

+0

Можете вложить свой вопрос в свой вопрос? – devqon

+0

Его почти пустой. просто это