1. リンクの操作

メディアアイテムのフレンドリURLにアクセスする

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore.Resources.Media.MediaManager.GetMediaUrl()メソッドを使用して、メディアアイテムのフレンドリURLにアクセスできます。たとえば、Masterデータベース内のメディアアイテム/Sitecore/Media Library/Images/SampleのわかりやすいURLにアクセスするには、次のようにします。

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item sampleItem = master.GetItem("/sitecore/media library/images/sample");
Sitecore.Data.Items.Item sampleMedia = new Sitecore.Data.Items.MediaItem(sampleItem);

string url = Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(sampleMedia));
警告

Sitecoreは、メディアURLの先頭にスラッシュ文字 (「/」) を自動的に含めません。これにより、メディア項目の相対URLが生成され、チルダ文字 ("~") によりIISはドキュメント ルートに解決されます。非常に深い情報アーキテクチャを持つソリューションでは、相対的なメディアURLがWebクライアントまたはWebサーバーによって課せられる制限を超える可能性があります。前の例で示したようにSitecore.StringUtil.EnsurePrefix() メソッドを使用して、メディアURLの先頭にスラッシュ文字が含まれていることを確認します。

Sitecore.Links.UrlBuilders.MediaUrlBuilderOptionsクラスを使用して、メディア・オプションを指定できます。たとえば、Masterデータベース内の /Sitecore/Media Library/Images/Sampleメディア項目のサムネイルのURLを取得するには、次のようにします。

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item sampleItem = master.GetItem("/sitecore/media library/images/sample");
Sitecore.Data.Items.MediaItem sampleMedia = new Sitecore.Data.Items.MediaItem(sampleItem);

Sitecore.Links.UrlBuilders.MediaUrlBuilderOptions mediaOptions = new Sitecore.Links.UrlBuilders.MediaUrlBuilderOptions();
mediaOptions.Thumbnail = true;

string url = Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(sampleMedia, mediaOptions));
この記事を改善するための提案がある場合は、 お知らせください!