Получить 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" />
Другие вопросы по тегам