1

Sitecore 6.1.0 でリッチ テキストにリンクを挿入する際に問題が発生しています。サイトコア アイテムへのリンクが挿入されると、次のように出力されます。

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

実際に解決された URL ではなく:

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

この記事では、これがレンダー パイプラインで解決される必要があることを確認しています。

Sitecore 6 では、リンク先のアイテムの GUID を含む特別な形式のリンクを挿入し、アイテムがレンダリングされると、特別なリンクがアイテムへの実際のリンクに置き換えられます。

パイプラインには、ShortenLinksweb.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>

そのため、リンクが完全な SEO-tastic URL ではなく、ID 形式でレンダリングされている理由がまったくわかりません。手がかりを得た人はいますか?

ありがとう、アダム

4

3 に答える 3

3

FieldRendererを実装するために大量のコード変更を処理している場合は、Sitecore.Links.LinkManager.ExpandDynamicLinks(文字列テキスト、UrlOptionsオプション)の使用を検討する価値があるかもしれません。リッチテキストフィールドに含まれる可能性のあるメディアアイテムへのリンクと参照を解析します。

于 2010-06-06T03:06:33.843 に答える
3

sc:fldを使用してフィールド値をレンダリングする場合、これがデフォルトの動作になります。これは、Sitecore 5から残されたレガシー動作であり、アイテムリンクのGUIDを置き換えませんでした。

Sitecore 6の新機能を使用する場合は、代わりにsc:fieldを使用する必要があります

于 2010-02-09T15:26:32.993 に答える
0

私も似たようなことに遭遇しました.. 私のクライアントは sitecore placeholder を使用していましたが、これもリンクを適切にレンダリングしません。回答で述べたように、フィールドレンダーの使用を終了しました:

<sc:FieldRenderer runat="server" ID="frBody" FieldName="Body"/>
于 2012-04-03T20:16:22.037 に答える