Sitecore not resolving rich text editor URLS in page renders

我的梦境 提交于 2019-12-24 09:38:13

问题


We're having issues inserting links into rich text in Sitecore 6.1.0. When a link to a sitecore item is inserted, it is outputted as:

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

Rather than the actual resolved url:

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

This article confirms that this should be resolved in the render pipeline:

in Sitecore 6 it inserts a specially formatted link that contains the Guid of the item you want to link to, then when the item is rendered the special link is replaced with the actual link to the item

The pipeline has the method ShortenLinks added in web.config

<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>

So I really can't see why links are still rendering in ID format rather than as full SEO-tastic urls. Anyone got any clues?

Thanks, Adam


回答1:


This will be the default behaviour if you are using sc:fld to render field values. This is legacy behaviour left from Sitecore 5 which did not replace the guids in item links.

If you want to use Sitecore 6's new functionality, you must use sc:field instead




回答2:


If you are dealing with a large amount of code changes to implement FieldRenderer, might be worth to consider using Sitecore.Links.LinkManager.ExpandDynamicLinks(string text, UrlOptions options). It parses links and references to media items that Rich Text field might contain.




回答3:


I also ran into something similar.. My client was using a sitecore placeholder , that also doesn't render the links properly. As stated by the answers I ended using a field render:

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


来源:https://stackoverflow.com/questions/2229943/sitecore-not-resolving-rich-text-editor-urls-in-page-renders

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!