未加载Sitecore版本化映像

未加载Sitecore版本化映像,sitecore,sitecore6,sitecore-media-library,Sitecore,Sitecore6,Sitecore Media Library,我运行的是Sitecore 6.5,有一个数据模板,其中有一个图像字段和一个基于该模板的项。该网站有两种语言 如果我在项目的En和Fr版本中使用版本化图像(媒体库中的一个项目具有En和Fr版本),然后发布网站并使用查询字符串sc_lang=En或Fr切换网站中的语言,则页面中除图像外的所有内容都会更改 但如果我使用两个不同的图像(媒体库中的两个项目),则在语言之间切换时会加载正确的图像 你知道为什么会这样吗 谢谢 T 更新 我尝试使用共享选项,但没有成功。我还注意到,如果我只添加查询参数并按en

我运行的是Sitecore 6.5,有一个数据模板,其中有一个图像字段和一个基于该模板的项。该网站有两种语言

如果我在项目的En和Fr版本中使用版本化图像(媒体库中的一个项目具有En和Fr版本),然后发布网站并使用查询字符串sc_lang=En或Fr切换网站中的语言,则页面中除图像外的所有内容都会更改

但如果我使用两个不同的图像(媒体库中的两个项目),则在语言之间切换时会加载正确的图像

你知道为什么会这样吗

谢谢 T

更新


我尝试使用共享选项,但没有成功。我还注意到,如果我只添加查询参数并按enter键,页面将更改为正确的语言,但直到我按刷新按钮,图像才会更改。这似乎是一个缓存问题,但为什么它只发生在版本化的图像上。

FieldRenderer
控件中似乎存在一个错误,因为生成的URL在查询字符串中没有语言

您可以尝试以下方法:

<asp:Literal ID="image" runat="server"><img src="{0}" /></asp:Literal>

Sitecore.Resources.Media.MediaUrlOptions options = new Sitecore.Resources.Media.MediaUrlOptions
{
    Language = Sitecore.Context.Language
};
Sitecore.Data.Fields.ImageField imgField = (Sitecore.Data.Fields.ImageField)Sitecore.Context.Item.Fields["Image"];
string url = Sitecore.Resources.Media.MediaManager.GetMediaUrl(imgField.MediaItem, options);
image.Text = string.Format(image.Text, url);

Sitecore.Resources.Media.MediaUrlOptions=new Sitecore.Resources.Media.MediaUrlOptions
{
语言=Sitecore.Context.Language
};
Sitecore.Data.Fields.ImageField imgField=(Sitecore.Data.Fields.ImageField)Sitecore.Context.Item.Fields[“Image”];
字符串url=Sitecore.Resources.Media.MediaManager.GetMediaUrl(imgField.MediaItem,选项);
image.Text=string.Format(image.Text,url);

Sitecore支持部门确认这是一个bug,下面是他们的临时解决方法:

  • Sitecore.Support.320556.dll
    复制到
    website\bin
    文件夹,该dll尚未在SDN上

  • 在web.config文件中,找到并注释掉以下节点:

  • 
    
    并在注释后添加以下内容:

    <processor type="Sitecore.Support.Pipelines.RenderField.GetImageFieldValue, Sitecore.Support.320556"/>
    
    
    

    这在发布网站和页面编辑器中对我都有效。

    数据模板上的图像字段是否设置为“共享”?我尝试了共享选项,但没有成功。如果您使用的是,我也尝试了FieldRenderer。谢谢Sean,该解决方案可用于显示图像,但不再像SC图像或字段渲染器那样支持页面编辑器。我搜索了SDN,没有发现这个bug,它在什么地方被引用了吗?你能提供它的链接吗?我想它刚刚被发现;)您可能希望将此报告给Sitecore支持部门,并了解他们的意见。@Developer,我鼓励您就此联系Sitecore支持部门。您的报告将有助于使Sitecore CMS变得更好!:-)已将此问题提交给Sitecore的支持部门,一旦我从他们那里获得更多信息,我将发布更新。当我发现另一个错误时更新了dll,Sitecore支持部门提供了另一个dll来修复它。
    <processor type="Sitecore.Support.Pipelines.RenderField.GetImageFieldValue, Sitecore.Support.320556"/>