2016-10-11 1 views
0

I eingefügt haben Medienelement Rich-Text-Editor und Link mithilfe aussieht wie untenRich-Text-Editor-Link zu Medien arbeiten nicht

<img alt="" src="media/8AC956DF5182489F9F8D8C98CC06BE6E.ashx" width="560" height="193" /> 

das Bild auch auf Modus Sitecores Seite bearbeiten/Vorschau macht. aber es wird nicht auf der tatsächlichen Website dargestellt. wenn ich es sehe, sieht es wie unten im Browser aus

<img alt="" src="media/8AC956DF5182489F9F8D8C98CC06BE6E.ashx" width="560" height="193"> 

Bitte helfen.

+1

Was ist Ihre Einstellung von 'Media.MediaLinkPrefix'? Check-in '/ sitecore/admin/showconfig.aspx' sollte standardmäßig leer sein. – jammykam

+0

es ist

+0

Ich bin sicher, dass Sie dies überprüft, aber können Sie überprüfen, ob das Bild bereits in der Web-Datenbank. –

Antwort

0

Können Sie versuchen, etwas wie folgt aus:

<img alt="" src="~/media/8AC956DF5182489F9F8D8C98CC06BE6E.ashx" width="560" height="193" /> 

sehen die Änderung der Anfang des src-Attribut.

+0

versuchte ..und funktioniert nicht –

1

Das Problem ist der Media.MediaLinkPrefix Wert "media"

Verwenden <setting name="Media.MediaLinkPrefix" value=""/> (für den Standardwert) "die ~/Medien" oder "-/Medien sind abhängig von der Sitecore-Version"

oder

<setting name="Media.MediaLinkPrefix" value="-/media" />

Siehe auch https://kb.sitecore.net/articles/723979 für Sitecore-Version unter 8.1

verwenden
+0

Sie können tatsächlich alles verwenden, was Sie für MediaLinkPrefix mögen, es _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - – jammykam

+0

Ja, Sie können es ändern, dann ändern Sie auch den benutzerdefinierten Handlers-Handler-Trigger. wie der kb Artikel sagt. –

+0

Und ich denke, verwenden Sie eine erste a / –

0

Ich hatte das gleiche Problem zuvor, aber dann stellte ich fest, dass es mein Fehler war (kein Sitecore-Problem, weil Sie die Bilder im Seiteneditor richtig sehen können), weil ich den HTML-Inhalt des Rich-Text-Feldes direkt an Frontend sendete Sicher, hier wird es nicht funktionieren, weil ich nicht die URL anrufe, die das Basisverzeichnis der Bilder oder irgendein Medien-src-Attribut ist (weil es eine relative URL enthält), also habe ich gerade meinen Code geändert, während ich rende

WebUtility.HtmlDecode(item.Fields["field_name"].Value.Replace("-/media/", Request.Url.Scheme + "://" + Request.Url.Authority + '/' + "~/media/")); 

aber in Ihrem Fall, wenn Ihr src wie diese src="media/8AC956DF5182489F9F8D8C98CC06BE6E.ashx" sieht so können Sie den Code verwenden: als absolute wie dieses Frontend alle relativen URLs zu ersetzen

WebUtility.HtmlDecode(item.Fields["field_name"].Value.Replace("media/", Request.Url.Scheme + "://" + Request.Url.Authority + '/' + "~/media/")); 

Hinweis: Sitecore Rich Text-Editor ist bereits decodierten HTML-Rendering und ich verwende WebUtility.HtmlDecode nur für die doppelte Überprüfung.

0

Das Problem ist wahrscheinlich, wie Sie das Richtext-Editor-Feld auf dem Frontend rendern. Aus irgendeinem Grund sieht es so aus, als ob der LinkProvider in Sitecore übersprungen wird. Der LinkProvider ist das, was das, was Sie in FrontEnd sehen, in eine funktionierende und freundliche Verbindung umwandelt.

Es funktioniert in Page Editor, weil es mit dem Link in diesem Format arbeiten soll.

Überprüfen Sie, dass Sie nicht direkt auf den RichText-Wert zugreifen und dass Sie die Rendering-Pipeline verwenden.