【问题标题】:How change "MediaLinkPrefix" Programmatically in sitecore?如何在 sitecore 中以编程方式更改“MediaLinkPrefix”?
【发布时间】:2012-04-13 06:05:29
【问题描述】:

我知道“MediaLinkPrefix”可以在 web.config 中更改。但是是否可以以编程方式更改“MediaLinkPrefix”?谢谢!

【问题讨论】:

    标签: sitecore sitecore6 sitecore-media-library


    【解决方案1】:

    回答您的具体问题。不可以。您不能以编程方式更改该设置的值。

    如果您尝试使用Sitecore.Resources.Media.MediaManager.GetMediaUrl(mediaItem) 来获取MediaItem 的URL,那么这就是利用Sitecore.Resources.Media.MediaProvider,它从Sitecore.Resources.Media.MediaConfig 类中提取MediaLinkPrefix 的值。该属性没有“设置器”。此外,该属性的值实际上来自Sitecore.Configuration.Settings.Media.MediaLinkPrefix,它也没有设置器,而是直接从配置文件中提取的。

    MediaManager 是一个静态类,我相信它不能用自定义实现换出。而且,与LinkManager 不同,MediaManager 被硬编码为使用Sitecore.Resources.Media.MediaProvider,因此您也不能编写自定义提供程序。

    【讨论】:

      【解决方案2】:

      您可以通过创建自己的 Sitecore.Links.LinkProvider 实现并在您的 web.config 中的 <linkManager> 部分下进行设置来做到这一点。

      我不知道具体的实现,但是你可以从Sitecore.Links.LinkProvider 继承一个类,然后重写 GetItemUrl() 方法。 然后将您的类配置为用作 LinkManager。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-15
        • 2016-06-17
        • 1970-01-01
        • 1970-01-01
        • 2023-01-23
        • 2016-11-06
        • 2023-03-22
        • 1970-01-01
        相关资源
        最近更新 更多