【问题标题】:How to display images within Umbraco Partial View如何在 Umbraco 局部视图中显示图像
【发布时间】:2016-05-08 00:24:58
【问题描述】:

我有一个用于显示产品信息的局部视图。每个产品都有一个主图像,以及产品的几个图像。我为此使用的结构是产品(具有属性“mainImage”),然后产品的子级是图像文件夹,然后在该文件夹中所有“其他”产品图像 [产品>图像文件夹>图像]。图像只有一个属性 (mainImage),类型为 Media Picker。

下面是我的宏。我的问题是提取产品图像文件夹中每个图像的图像 url。

@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 替换为 page,但没有运气。我可以为这个问题尝试什么?

【问题讨论】:

  • 当前打印出什么?是否有错误或错误的网址?
  • 我最终通过改变我的结构和文档类型来完成这项工作。我最终使用了一个多媒体选择器,我可以毫无问题地循环浏览那些。

标签: c# html model-view-controller umbraco partial-views


【解决方案1】:

不确定你的产品结构 > 文件夹 > 产品图片,我个人只会在产品上放一个媒体选择器,然后从媒体中选择一个图片文件夹并循环浏览图片。

话虽如此,请尝试使用: Umbraco.TypedMedia(CurrentPage.mainImage.ToString()) ,前提是 CurrentPage.mainImage.ToString() 中的值是您将从中获取 .url 的图像的有效 ID。

.TypedMedia 有更多的属性,而不仅仅是 .Media,我相信 .Media 是数据库参考。

【讨论】:

  • 感谢您建议更改结构。我使用了一个多媒体选择器,这解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多