2016-05-08 3 views
0

У меня есть частичный вид, который я использую для отображения информации о продукте. Каждый продукт имеет основное изображение, а также несколько изображений продукта. Структура, которую я использую для этого, - это Продукт (имеет свойство «mainImage»), тогда дочерний элемент продукта представляет собой папку с изображениями, а затем внутри этой папки все «другие» изображения продукта [Продукт> Папка изображений> Изображения]. Изображения имеют только одно свойство (mainImage) с типом Media Picker.Как отображать изображения в пределах Umbraco Partial View

Ниже мой макрос. Моя проблема заключается в том, чтобы потянуть изображение для каждого изображения в папке с изображениями продукта.

@foreach(var page in Model.Content.Descendants().Where(x => x.IsVisible() && x.Level >= 6)) 
{ 
    <div class="col-md-6 item residential"> 
     <div class="picframe"> 
      <a class="image-popup-gallery" href="@Umbraco.Media(CurrentPage.mainImage.ToString()).Url"> 
       <span class="overlay"> 
       <span class="pf_text"> 
        <span class="project-name">@page.Name</span> 
       </span> 
       </span> 
      </a> 

      <img src="@Umbraco.Media(CurrentPage.mainImage.ToString()).Url" alt="" /> 

     </div> 
    </div> 

} 

Я могу видеть, что мой цикл правильно, как столбцы создаются для каждого изображения в папке изображения продукта, и свойство имени элемента тянет правильно для каждого изображения. Однако я не могу понять правильный синтаксис, чтобы вытащить правильное изображение.

Я попытался это:

<img src="@Umbraco.Media(page.mainImage.ToString()).Url" alt="" /> 

Где я заменил CurrentPage со страницей, но не везло. Есть ли у кого-нибудь предложение или решение, я могу попробовать эту проблему? Большое спасибо,

С уважением,

Эриком

+0

Что печатает в настоящее время? Есть ли ошибка или плохой URL? –

+0

Я закончил работу, изменив свою структуру и доктрины. Я закончил тем, что использовал множественный выбор средств массовой информации, и я могу пропустить их без проблем. – EricBellDesigns

ответ

1

Не уверен, что о вашей структуре продукт> папки> изображений продукта, лично я бы просто поставить выбор рекламных носителей на продукте и выберите папку изображения из медиа и петля через изображения.

С учетом сказанного, попытаться использовать: Umbraco.TypedMedia (CurrentPage.mainImage.ToString()), при условии, что значение в вас CurrentPage.mainImage.ToString() является действительным идентификатор изображения, вы получите. url от этого.

.TypedMedia имеет больше свойств, чем просто .Media, я считаю .Media - ссылка на базу данных.

+0

Благодарим вас за предложение изменить структуру. Я пошел с несколькими сборщиками средств массовой информации, и это решило мою проблему. – EricBellDesigns