嗨我曾经能够从宏获取图像网址:
var imgMain = Model.MacroParameters["image"];
int imgWidth = Convert.ToInt32(Model.MacroParameters["imageWidth"]);
var mediaItemOne = Umbraco.TypedMedia(imgMain);
<img src='@mediaItemOne.Url.GetCropUrl(width:imageWidth)' alt=''/ >
Umbraco 8的新方法是什么,因为我现在收到以下错误,我找不到任何关于如何做的文档:
UmbracoHelper'不包含'TypedMedia'的定义,也没有可访问的扩展方法'TypedMedia'接受'UmbracoHelper'类型的第一个参数(你是否缺少using指令或汇编引用?)
使用Umbraco.TypedMedia
而不是Umbraco.Media
,API已被简化,因为不再支持动态,并且不再需要前一种方法。
同样适用于内容 - TypedContent
已经消失,现在Umbraco.Content
返回一个强类型的IPublishedContent项。
好吧,如果有人遇到这篇文章,这就是我最终在Umbraco 8中工作的方式
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@using Umbraco.Web;
@using Umbraco.Web.Composing
@{
var img = Model.MacroParameters["image"].ToString();
int imageWidth = Convert.ToInt32(Model.MacroParameters["imageWidth"]);
var udi = Udi.Parse(img);
var imgUrl = Current.UmbracoHelper.ContentQuery.Media(udi).Url;
<img src='@imgUrl.GetCropUrl(width:imageWidth)' alt='' />
}
试试这个
@inherits Umbraco.Web.Mvc.UmbracoViewPage
@{
var site = Model.Root();
var bannerImage = Model.Value<IPublishedContent>("bannerImage");
}
<img scr="@bannerImage.Url" />