string url = Sitecore.StringUtil.EnsurePrefix('/',
Sitecore.Resources.Media.MediaManager.GetMediaUrl(media));
3 Réponses :
J'ai travaillé sur un projet où nous avons enregistré des actifs multimédias sur CDN d'Akamai, nous avons donc dû modifier la manière dont les URL de média ont été résolues. P>
Nous avons adapté la classe intégrée Ceux-ci devaient gérer des liens vers des images générées par des rendriers de terrain et des liens créés dans un éditeur de texte riche. P> linkprovider code> en modifiant
areardynamiclinks () code>. Nous avons également adapté
sitecore.resources.media.mediaprovider code> et mettez à jour la méthode
getMediAURL () code>. P>
C'est ainsi que nous avons résolu cela actuellement, mais j'espérais une solution de configuration - le réflecteur montre que Sitecore est capable de le faire, je ne sais tout simplement pas comment l'activer. Mais si aucune réponse de configuration ne montre, je vais accepter le vôtre.
Je suis d'accord - j'aimerais voir une solution de configuration à cela, mais je ne pense pas qu'il y en a un. * Doigts croisés *
Je n'ai pas trouvé de solution de configuration non plus. Les 2 derniers sites que j'ai travaillé sur un CDN utilisé pour servir des médias et nous avons dû faire quelque chose de très similaire.
Ce serait une excellente occasion de créer un module source partagé avec ces nouvelles classes, puis un fichier de configuration pour corriger les paramètres par défaut.
Nous avons reçu une réponse de Sitecore - C'est la solution qu'ils suggèrent eux-mêmes.
Il y a une solution beaucoup plus facile à cela. Je suis peut-être un peu hors de ma syntaxe - n'hésitez pas à me corriger et je vais faire des modifications.
La syntaxe correcte est mediamanager.getmediaul (élément, nouveau MediafeLoptions {absolutepath = true}); code>
Créer un lien vers STECORE Élément de média strong>
Vous ne pourrez pas récupérer l'élément multimédia à l'aide de la méthode ci-dessus LinkManager.GetItemurl (). Sitecore a une API séparée pour aller chercher les URL de média. P>
public string ResolveSitecoreMediaURL(Sitecore.Data.Items.Item item) { MediaUrlOptions mediaOptions= new MediaUrlOptions(); mediaOptions.AlwaysIncludeServerUrl = true; mediaOptions.AbsolutePath =true; return Sitecore.Resources.Media.MediaManager.GetMediaUrl(item,mediaOptions); }