gpt4 book ai didi

c# - 您如何将 allow-stretch 应用于所有 sitecore 媒体 img 标签?

转载 作者:太空宇宙 更新时间:2023-11-03 20:07:35 26 4
gpt4 key购买 nike

如何才能使“allow-stretch”属性应用于 sitecore 在从媒体库中插入媒体时创建的所有标签?

我知道您可以使用个人 <sc:image> 来设置允许拉伸(stretch)属性标签,但我希望全局应用此设置,以便每当用户将媒体库中的媒体插入页面时,生成的标签默认已应用“as=1”属性。

目前,每当用户在我的 Web 应用程序中插入媒体库中的媒体时,sitecore 创建的图像标签如下所示:

<img alt="" height="500" width="709" src="~/media/EAF03CA5568245B59FDDCC4B8FBD83E4.ashx?h=500&amp;w=709" />`

但我希望它看起来像这样:

<img alt="" height="500" width="709" src="~/media/EAF03CA5568245B59FDDCC4B8FBD83E4.ashx?h=500&amp;w=709&as=1" />

请注意,我提供的第二个 img 标签末尾有 as=1。

有人知道如何实现吗?

我正在使用 Sitecore 6.5

最佳答案

您可以创建自己的 MediaProvider 实现并将 AllowStretch 设置为始终为真。继承自 Sitecore.Resources.Media.MediaProvider 并覆盖 GetMediaUrl() 方法:

namespace MyCustom.Media
{
public class MediaProvider : Sitecore.Resources.Media.MediaProvider
{
public override string GetMediaUrl(MediaItem item)
{
Assert.ArgumentNotNull((object) item, "item");
return this.GetMediaUrl(item, MediaUrlOptions.Empty);
}

public override string GetMediaUrl(MediaItem item, MediaUrlOptions options)
{
options.AllowStretch = true;
return base.GetMediaUrl(item, options);
}
}

然后在配置中将媒体提供程序修补到您的自定义实现:

<mediaProvider type="MyCustom.Media.MediaProvider, MyCustom.Kernel"/>

编辑:正如 Maras 所建议的,也尝试覆盖重载的 GetMediaUrl(MediaItem item, MediaUrlOptions options) 方法。

关于c# - 您如何将 allow-stretch 应用于所有 sitecore 媒体 img 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22076983/

26 4 0