Sitecore beheben keine URLs der reichen Texteditor in Seitenrendern
Frage
Wir haben Probleme beim Einfügen von Links in einen reichen Text in Sitecore 6.1.0. Wenn ein Link zu einem Sitecore -Element eingefügt wird, wird er ausgegeben als:
http://domain/~/link.aspx?_id=8A035DC067A64E2CBBE2662F6DB53BC5&_z=z
Eher als die tatsächliche gelöste URL:
http://domain/path/to/page.aspx
Dieser Artikel bestätigt, dass dies in der Render -Pipeline gelöst werden sollte:
In Sitecore 6 wird ein speziell formatiertes Link eingefügt, der die Richtlinien des Elements enthält, mit dem Sie verlinken möchten
Die Pipeline hat die Methode ShortenLinks
hinzugefügt 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>
Ich kann also wirklich nicht sehen, warum Links immer noch im ID-Format und nicht als vollständige SEO-Taste-URLs rendern. Hat jemand irgendwelche Hinweise?
Danke, Adam
Lösung
Dies ist das Standardverhalten, wenn Sie SC: FLD zum Rendern der Feldwerte verwenden. Dies ist ein Vermächtnisverhalten von Sitecore 5, das die Richtlinien in Elementlinks nicht ersetzt.
Wenn Sie die neue Funktionalität von Sitecore 6 verwenden möchten, müssen Sie stattdessen SC: Field verwenden
Andere Tipps
Wenn Sie sich mit einer großen Anzahl von Codeänderungen zur Implementierung von FieldRenderer befassen, können Sie die Verwendung von sitecore.links.linkmanager.expanddynamiclinks (String -Text, Urloptionsoptionen) in Betracht ziehen. Es analysiert Links und Verweise auf Medienelemente, die reichhaltiges Textfeld enthalten könnten.
Ich bin auch auf etwas Ähnliches gestoßen. Mein Kunde verwendete einen Sitecore -Platzhalter, der die Links auch nicht richtig macht. Wie aus den Antworten angegeben, habe ich mit einem Feldtrender beendet:
<sc:FieldRenderer runat="server" ID="frBody" FieldName="Body"/>