1

「MediaLinkPrefix」はweb.configで変更できることを知っています。しかし、「MediaLinkPrefix」をプログラムで変更することは可能ですか? ありがとう!

4

2 に答える 2

2

あなたの特定の質問に答えるために。いいえ。その設定の値をプログラムで変更することはできません。

を使用Sitecore.Resources.Media.MediaManager.GetMediaUrl(mediaItem)して の URL を取得しようとしている場合、MediaItemそれは を利用しており、クラスから のSitecore.Resources.Media.MediaProvider値を取得しています。そのプロパティには「セッター」がありません。さらに、そのプロパティの値は実際には から取得されます。これもセッターを持たず、構成ファイルから直接取得されます。MediaLinkPrefixSitecore.Resources.Media.MediaConfigSitecore.Configuration.Settings.Media.MediaLinkPrefix

これMediaManagerは、カスタム実装と交換できないと私が信じている静的クラスです。また、 とは異なり、LinkManagerMediaManagerを使用するようにハード コードされているSitecore.Resources.Media.MediaProviderため、カスタム プロバイダを作成することもできません。

于 2012-04-13T13:29:12.077 に答える
1

これを行うには、独自の実装を作成し、セクションSitecore.Links.LinkProviderの下の web.config に設定します<linkManager>

正確な実装はわかりませんが、からクラスを継承しSitecore.Links.LinkProviderて GetItemUrl() メソッドをオーバーライドできます。次に、クラスを LinkManager として使用するように構成します。

于 2012-04-13T07:59:17.170 に答える