Sitecore не разрешает URL-адреса текстового редактора при отображении страниц - PullRequest
1 голос
/ 09 февраля 2010

У нас возникают проблемы при вставке ссылок в форматированный текст в Sitecore 6.1.0. Когда вставляется ссылка на элемент sitecore, она выводится как:

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

Вместо действительного URL-адреса:

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

Эта статья подтверждает, что это должно быть решено в конвейере рендеринга:

в Sitecore 6 он вставляет специально отформатированная ссылка, которая содержит Guid элемента, на который вы хотите сослаться, то когда предмет представлен особый ссылка заменяется на фактическую ссылку до предмета

В конвейере есть метод ShortenLinks, добавленный в 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>

Так что я действительно не понимаю, почему ссылки по-прежнему отображаются в формате идентификатора, а не в виде полных URL-адресов SEO. У кого-нибудь есть какие-нибудь подсказки?

Спасибо, Адам

Ответы [ 3 ]

3 голосов
/ 06 июня 2010

Если вы имеете дело с большим количеством изменений кода для реализации FieldRenderer, возможно, стоит подумать об использовании Sitecore.Links.LinkManager.ExpandDynamicLinks (текст строки, параметры UrlOptions). Он анализирует ссылки и ссылки на элементы мультимедиа, которые могут содержать поле Rich Text.

3 голосов
/ 09 февраля 2010

Это будет поведение по умолчанию, если вы используете sc: fld для визуализации значений поля. Это унаследованное поведение, оставленное от Sitecore 5, которое не заменило направляющие в ссылках на элементы.

Если вы хотите использовать новые функциональные возможности Sitecore 6, вместо этого вы должны использовать sc: field

0 голосов
/ 04 апреля 2012

Я также столкнулся с чем-то похожим .. Мой клиент использовал заполнитель sitecore, который также не отображает ссылки должным образом. Как указано в ответах, я закончил использовать поле render:

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