2012-04-13 8 views

Antwort

2

Um Ihre spezifische Frage zu beantworten. Nein. Sie können den Wert dieser Einstellung nicht programmgesteuert ändern.

Wenn Sie versuchen, Sitecore.Resources.Media.MediaManager.GetMediaUrl(mediaItem) zu verwenden, wird die URL einer MediaItem zu erhalten dann, dass die Sitecore.Resources.Media.MediaProvider nutzen, die den Wert des MediaLinkPrefix aus der Sitecore.Resources.Media.MediaConfig Klasse zieht. Diese Eigenschaft hat keinen 'Setter'. Außerdem kommt der Wert dieser Eigenschaft tatsächlich von Sitecore.Configuration.Settings.Media.MediaLinkPrefix, der auch keinen Setter hat und direkt aus der Konfigurationsdatei gezogen wird.

Die MediaManager ist eine statische Klasse, von der ich glaube, dass sie nicht mit einer benutzerdefinierten Implementierung ausgetauscht werden kann. Und im Gegensatz zu LinkManager ist die MediaManager hart codiert, um die Sitecore.Resources.Media.MediaProvider zu verwenden, so dass Sie auch keinen benutzerdefinierten Anbieter schreiben können.

1

Sie können dies tun, indem Sie Ihre eigene Implementierung von Sitecore.Links.LinkProvider erstellen und in Ihrer web.config unter dem <linkManager> Abschnitt einrichten.

Ich kenne die genaue Implementierung nicht, aber Sie können eine Klasse von Sitecore.Links.LinkProvider erben und dann die GetItemUrl() -Methode überschreiben. Dann konfigurieren Sie Ihre Klasse als LinkManager verwendet werden.

Verwandte Themen