Получить URL-адрес изображения из MacroPartialView Umbraco 8 - PullRequest
0 голосов
/ 01 марта 2019

Привет Я имел обыкновение получать 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или ссылка на сборку?)

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Вместо Umbraco.TypedMedia, просто используйте Umbraco.Media, API-интерфейсы были упрощены, поскольку динамика больше не поддерживается, и прежний метод больше не нужен.

То же самое относится и к содержимому - TypedContent имеетушел, и теперь Umbraco.Content возвращает строго типизированный элемент IPublishedContent.

0 голосов
/ 09 мая 2019

Попробуйте это

@inherits Umbraco.Web.Mvc.UmbracoViewPage

@{
    var site = Model.Root();
    var bannerImage = Model.Value<IPublishedContent>("bannerImage");

}

<img scr="@bannerImage.Url" />
0 голосов
/ 01 марта 2019

ОК, если кто-нибудь сталкивался с этим постом, вот как я наконец-то заставил его работать в 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='' />
}
...