У меня проблема в Umbraco 7. Я использую вложенный инструмент выбора дерева с несколькими узлами, но GetCropUrl не работает. Функция обрезки в порядке, я уже использовал ее.
@{
if (CurrentPage.HasValue("artists"))
{
var artistList = CurrentPage.artists.ToString().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var artistCollection = Umbraco.Content(artistList);
foreach (var artist in artistCollection)
{
if (artist.HasValue("coverImages"))
{
var coverImagesList = artist.coverImages.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var coverImagesCollection = Umbraco.Media(coverImagesList);
foreach (var coverImage in coverImagesCollection.RandomOrder().Take(1).Where("Visible"))
{
<img src="@coverImage.GetCropUrl(305, 195)"/>
}
}
}
}
}
Обновление:
Я изменил код и начал использовать Id. Когда я использую это:
foreach (var coverImage in coverImagesCollection)
<p>@coverImage.Id</p>
<img src="@Umbraco.TypedMedia(1105).Url"/>
}
Я получил идентификатор изображения из @coverImage.Id, и изображение работает.
Когда я использую это:
foreach (var coverImage in coverImagesCollection)
<img src="@Umbraco.TypedMedia(coverImage.Id).Url"/>
}
Изображение по-прежнему хорошее.
После того, как я обрезаю с помощью fix id.
foreach (var coverImage in coverImagesCollection)
<img src="@Umbraco.TypedMedia(1105).GetCropUrl(305, 195)"/>
}
Работает, но потом:
foreach (var coverImage in coverImagesCollection)
<img src="@Umbraco.TypedMedia(coverImage.Id).GetCropUrl(305, 195)"/>
}
Я получил ошибку:
«Umbraco.Web.Models.PublishedContentBase» не содержит определения для «GetCropUrl» Как это возможно?