富媒体编辑器链接到媒体不起作用

时间:2016-10-11 14:48:50

标签: sitecore

我使用富文本编辑器插入了媒体项目,链接如下所示

<img alt="" src="media/8AC956DF5182489F9F8D8C98CC06BE6E.ashx" width="560" height="193" />

图像在sitecore页面编辑/预览模式下呈现良好。但它不会在实际网站上呈现。当我检查它时,在浏览器中看起来像下面

<img alt="" src="media/8AC956DF5182489F9F8D8C98CC06BE6E.ashx" width="560" height="193">

请帮忙。

4 个答案:

答案 0 :(得分:1)

问题是Media.MediaLinkPrefix值&#34;媒体&#34;

使用 <setting name="Media.MediaLinkPrefix" value=""/>(默认值) &#34;那是〜/ media&#34;或&#34; - / media取决于Sitecore版本&#34;

或使用

<setting name="Media.MediaLinkPrefix" value="-/media" />

另请参阅https://kb.sitecore.net/articles/723979以了解8.1以下的Sitecore版本

答案 1 :(得分:0)

你可以尝试这样的事情:

<img alt="" src="~/media/8AC956DF5182489F9F8D8C98CC06BE6E.ashx" width="560" height="193" />

查看src属性开头的更改。

答案 2 :(得分:0)

之前我遇到过同样的问题,但之后我发现这是我的错误(不是Sitecore问题,因为你能够在页面编辑器中正确地看到图像),因为我将富文本字段的HTML内容直接发送到frontend ,肯定在这里它不会工作,因为我没有调用URL,这将是图像的基本根或任何媒体src属性(因为它包括相对URL),所以我刚刚在渲染时更改了我的代码前端替换所有相对URL是绝对的,如下所示:

WebUtility.HtmlDecode(item.Fields["field_name"].Value.Replace("-/media/", Request.Url.Scheme + "://" + Request.Url.Authority + '/' + "~/media/"));

但是在您的情况下,如果您的src看起来像src="media/8AC956DF5182489F9F8D8C98CC06BE6E.ashx",那么您可以使用代码:

WebUtility.HtmlDecode(item.Fields["field_name"].Value.Replace("media/", Request.Url.Scheme + "://" + Request.Url.Authority + '/' + "~/media/"));

注意: Sitecore Rich文本编辑器已经在渲染已解码的HTML,而我正在使用WebUtility.HtmlDecode进行双重检查。

答案 3 :(得分:0)

问题可能在于您如何在前端渲染richtext编辑器字段。无论出于何种原因,它似乎都会跳过sitecore中的LinkProvider。 LinkProvider将您在FrontEnd中看到的内容转换为可用且友好的链接。

它在页面编辑器中工作,因为它的设计是使用该格式的链接。

检查您是否没有直接访问RichText值并且您正在使用渲染管道。