2

サイトコア メディア ライブラリ内のドキュメントへのリンクをページに提供するにはどうすればよいですか?

私のテンプレートには、ユーザーが特定のページ オブジェクトに対して多数のドキュメントを選択できる Treelist があります。サブレイアウトのコード ビハインドでは、Treelist フィールド内のアイテムを繰り返し処理して ID を取得し、次に使用Sitecore.Links.LinkManager.GetItemUrl()してアイテムへの URL を取得します。現時点では、ハイパーリンクを使用してリンクをレンダリングするだけですが、リンクをクリックすると、レイアウトが見つからないというエラーが表示されます。

メディア アイテムのコンテンツ ストリームのダウンロードを処理するための ashx ハンドラーであるレイアウトを作成する必要がありますか?それとも、これを実行できる組み込みのものがありますか?

4

4 に答える 4

6

メディアライブラリ内のアイテムへのリンクを生成するには、を使用する必要がありますMediaManager。例えば:

string url = Sitecore.Resources.Media.MediaManager.GetMediaUrl(item)
于 2011-04-18T19:15:28.410 に答える
1

mdresser に返信し、Younes のコメントを完成させるため。StringUtil を使用してプレフィックス「/」が次のようになるようにします。

var thumbnailUrl = Sitecore.StringUtil.EnsurePrefix('/',
                        Sitecore.Resources.Media.MediaManager.GetThumbnailUrl(_thumbnail));
于 2012-11-28T16:56:27.370 に答える
1

を使ってみてくださいSitecore.Resource.Media.MediaProvider.GetMediaUrl()

または、アイテムごとに、MediaItem としてキャストします。
メディア フォルダは /~/media/
である必要があります。 MediaPath はプロパティです。
拡張子はファイルの拡張子などです。

の使い方も参考にしてMediaUrlOptionsください。

于 2011-04-18T19:22:32.143 に答える