如何使用宏在页面上显示umbraco多个媒体选择器图像

时间:2013-12-11 14:15:37

标签: asp.net-mvc image umbraco umbraco7

Hello stackoverflow人 希望你可以帮我解决一个简单的问题,但在其他地方找不到解决办法,我刚刚和umbraco一起工作了一个星期,之前从未使用过mvc部分,所以对我来说都是新的。

所以最大的问题是如何制作一个宏来显示我从多媒体选择器中选择的图像,宏应该以显示结束。

<img src="img1.gif" height="50" width="50">
<img src="img2.gif" height="50" width="50">

依赖于有多少图像。 (大小只是一个例子)

我尝试过这样的事情

 @var selectedMedia3 = @Library.MediaById(Model.mainImage);
      <img src="@selectedMedia3.umbracoFile" width="@selectedMedia3.umbracoWidth" height="@selectedMedia3.umbracoHeight" alt="@selectedMedia3.Name"/>                       
    }

但我不知道如何将图像的id解析为宏。 当我选择多个文件时,我需要一个循环,但不知道如何循环多个媒体选择器数据,所以我现在有点迷失。

3 个答案:

答案 0 :(得分:7)

您能告诉我们您正在使用的Umbraco版本吗?近年来,Umbraco在各种版本中经历了许多有趣的变化。以下代码应引导您使用propertyAlias partnersLogos Umbraco 7多图像选取器指明方向。

    @if (Model.Content.HasValue("partnersLogos"))
    {
        var partnersImagesList =  Model.Content.GetPropertyValue<string>("partnersLogos").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse);
        var partnersImagesCollection = Umbraco.TypedMedia(partnersImagesList).Where(x => x != null);
        foreach (var partnerImage in partnersImagesCollection)
        {
            <img src="@partnerImage.Url" alt="partners logo" />
        }
    }

答案 1 :(得分:1)

如果有人和我犯了同样的错误,并且没有意识到现在过时的媒体选择器和新媒体选择器“Umbraco.MediaPicker2”之间存在差异(至少从7.6.1开始),请阅读Umbraco网站上的文档。

https://our.umbraco.org/documentation/Getting-Started/Backoffice/Property-Editors/Built-in-Property-Editors/Media-Picker2

@{
    var typedMultiMediaPicker = Model.Content.GetPropertyValue<IEnumerable<IPublishedContent>>("sliders");
    foreach (var item in typedMultiMediaPicker)
    {
        <img src="@item.Url" style="width:200px"/>
    }
}

答案 2 :(得分:0)

我不确定你是否质疑如何在umbraco中设置MVC或从图像选择器获取值。

但是如果你想在umbraco中启动MVC,请查看:http://24days.in/umbraco/2013/creating-reusable-code-in-mvc-apps/