Sitecore参考媒体库图像在富文本字段编辑器内的图像的src属性中

时间:2016-09-04 10:50:42

标签: sitecore sitecore8

我正在使用sitecore 8.1,我的模板包含“Rich Text”类型的字段,我正在基于此模板创建项目并在此字段中存储HTML内容。除了包含在HTML内容中的图像(在src属性中)之外,所有HTML标记和一切都正常工作,我尝试了以下所有方案,但都失败了:

  

注意:以下所有方案的结果都在sitecore CMS内的富文本编辑器中正确显示图像,但在尝试在移动Web视图或任何浏览器中呈现HTML时,HTML看起来正确,但只是图像是空的。   并且只有一种方法我尝试过并且有效但却没有   满足我的要求,即在src中提及外部URL,如:

     

src="http://i.telegraph.co.uk/multimedia/archive/03589/Wellcome_Image_Awa_3589699k.jpg"

方案:

  • 在媒体库中上传图片并使用图片地图编辑器(从富文本编辑器调用)来引用上传的图片,因此图片的src属性包含src="-/media/5EA5C007FFFF4688A0B7E6F58B79D2E8.ashx?h=183&w=250"之类的值 在这里我也尝试将扩展名从ashx更改为原始扩展名并删除后缀参数但没有结果。
  • 在src属性中明确指定媒体库中的图像url src="/-/media/Contents/Images/foobar"此外,我还尝试更改添加原始扩展程序,但没有结果。
  • 使用this solution但它已经破坏了我的所有媒体文件,在我上传新文件后,仍无法在HTML网页视图或浏览器中看到图片。
  • 将原始图像添加到sitecore网站目录(如\website\contents\images)中,并像通过HTML一样引用它 src="/contents/images/foobar.jpg"src="~/contents/images/foobar.jpg"一样,但没有任何结果或变化。

我更倾向于使用Sitecore的媒体库来避免最后一个场景

1 个答案:

答案 0 :(得分:1)

您可以直接在富文本中使用图像的sitecore路径,而不是使用ashx扩展名,如下所示:

src="~/media/path/to/image/logo.jpg"

然后,如上所述,您可以从富文本中检索值,如下所示:

var richTextValue = item.Fields["Body"].Value;

由于