1768755435
2026-01-16 10:47:00
導入
画像の代替テキストは 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 から代替テキストを取得する際に、場合によっては取得するかどうか DAMAssetInfo 予期しない動作のため null の場合は使用します IDAMAssetMetadataService 以下に表示
if (temp.Metadata?.DAMAssetInfo == null)
{
var temp2 = ServiceProviderExtensions.GetInstance(ServiceLocator.Current).GetAssetMetadata(ExtractAssetGuid(temp).Value).Result;
altText = temp2?.AltText;
}
}
上記では、要件に応じて他の人が追加できる必要なコードのみを追加しました。
CMP-DAM の設定と資産の同期に関して、以下の参照を追加しました。
重要なリンク
2026 年 1 月 16 日
#Optimiz #の #CMPDAM #からインポートされた画像の代替テキストが取得される