嗨,我曾经能够从宏中获取图像URL:
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=''/ >
我现在遇到以下错误,我找不到有关如何执行的文档的新方法:
:umbracohelper'不包含" typedmedia"的定义,没有 可访问的扩展方法" typedmedia"接受 可以找到" umbracohelper"键入(您是否缺少使用指令 或组件参考?)
而不是Umbraco.TypedMedia
,只需使用Umbraco.Media
即可简化API,因为不再支持动力学,并且不再需要API。
内容也是如此-TypedContent
消失了,现在Umbraco.Content
返回了强烈打字的ipublyContent项目。
好吧,如果有人遇到这篇文章,这就是我最终在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" />