Sitecore无法解析页面渲染中的富文本编辑器URL

时间:2010-02-09 14:56:32

标签: url hyperlink sitecore pipeline rte

我们在Sitecore 6.1.0中将链接插入富文本时遇到问题。当插入指向sitecore项目的链接时,它将输出为:

http://domain/~/link.aspx?_id=8A035DC067A64E2CBBE2662F6DB53BC5&_z=z

而不是实际解析的网址:

http://domain/path/to/page.aspx

This article确认应该在渲染管道中解决这个问题:

  

在Sitecore 6中它专门插入   包含Guid的格式化链接   然后,您想要链接到的项目   当项目呈现特殊时   链接被实际链接替换   到项目

管道在web.config中添加了ShortenLinks方法

<convertToRuntimeHtml>
    <processor type="Sitecore.Pipelines.ConvertToRuntimeHtml.PrepareHtml, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.ConvertToRuntimeHtml.ShortenLinks, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.ConvertToRuntimeHtml.SetImageSizes, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.ConvertToRuntimeHtml.ConvertWebControls, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.ConvertToRuntimeHtml.FixBullets, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.ConvertToRuntimeHtml.FinalizeHtml, Sitecore.Kernel"/>
</convertToRuntimeHtml>

所以我真的不明白为什么链接仍然以ID格式呈现而不是完整的SEO-tastic网址。有人有任何线索吗?

谢谢,亚当

3 个答案:

答案 0 :(得分:3)

如果您使用sc:fld呈现字段值,这将是默认行为。这是Sitecore 5遗留下来的遗留行为,它没有替换项目链接中的guid。

如果您想使用Sitecore 6的新功能,则必须使用sc:field代替

答案 1 :(得分:3)

如果您正在处理大量代码更改以实现FieldRenderer,则可能值得考虑使用Sitecore.Links.LinkManager.ExpandDynamicLinks(字符串文本,UrlOptions选项)。它解析富文本字段可能包含的媒体项的链接和引用。

答案 2 :(得分:0)

我也碰到了类似的东西..我的客户端使用的是sitecore占位符,也没有正确呈现链接。正如答案所述,我使用字段渲染结束:

<sc:FieldRenderer runat="server" ID="frBody" FieldName="Body"/>