Получить URL-адрес изображения из MacroPartialView Umbraco 8
Привет я имел обыкновение получать 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=''/ >
Что нового в Umbraco 8, когда я получаю следующую ошибку сейчас, и я не могу найти документацию о том, как это сделать:
UmbracoHelper "не содержит определения для" TypedMedia ", и нет доступного метода расширения" TypedMedia ", принимающего первый аргумент типа" UmbracoHelper "(вы пропустили директиву using или ссылку на сборку?)
2 ответа
Вместо 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" />