Введение
Хотя замещающий текст изображения хранится в виде метаданных в CMP/DAM, он не отображается автоматически в HTML браузера. В этом документе описывается решение, реализованное в Optimizely CMS для правильного получения и отображения этих метаданных.
Шаги:
1) Создайте класс файла изображения и наследуйте его с помощью ImageData.
public class ImageFile : ImageData
{
[Display(Name = "Alt text", Order = 10)]
public virtual string AltText { get; set; }
}
2) Создайте модель представления файла изображения.
public class ImageFileViewModel
{
public string AltText { get; set; }
}
3) Создайте запрос файла изображения и встроенный paas. DAMAssetIdentity
public class ImageFileRequest : IRequest
{
public ImageFileRequest(DAMAssetIdentity damAsset, CultureInfo culture)
{
Culture = culture;
ImageFileReference = damAsset;
}
public DAMAssetIdentity ImageFileReference { get; set; }
public CultureInfo Culture { get; }
}
public async Task Handle(ImageFileRequest request, CancellationToken cancellationToken)
{
if (request?.ImageFileReference != null)
{
temp.AltText = request?.ImageFileReference?.Metadata?.DAMAssetInfo?.AltText;
}
return temp;
}
5) Если в случае получения альтернативного текста от Dam и если мы получим ДАМАссетИнфо имеет значение null из-за неожиданного поведения, тогда мы будем использовать ИДАМАссетметадатасервице показано ниже
if (temp.Metadata?.DAMAssetInfo == null)
{
var temp2 = ServiceProviderExtensions.GetInstance(ServiceLocator.Current).GetAssetMetadata(ExtractAssetGuid(temp).Value).Result;
altText = temp2?.AltText;
}
}
Выше я добавил только необходимый код, который другие могут добавить в соответствии с требованиями.
Ниже добавлены ссылки для настройки CMP-DAM и синхронизации ресурсов.
Важные ссылки
16 января 2026 г.
Продолжение темы

