1

単一のリッチテキストフィールドを含むコンポーネントがあります。サブレイアウトでは、フィールドはPageEditorのページで編集できるように、GlassでHtml.Editableとしてレンダリングされます。それは次のようになります。Sitecore Rich Glassでレンダリングしたときにユーザーフレンドリーではない

public override void Initialize() 
{ 
    litBodyContent.Text = Html.Editable(GlassItem, item => item.Body); 
} 

<div style="min-height: 38px"> 
    <asp:Literal runat="server" ID="litBodyContent" /> 
</div> 

をしかし、私は(ないページエディタで公表された後、通常のビューでは、)ページが表示されるリッチテキストエディタを使用して、リンクが挿入すると、リンクは次のようにユーザーフレンドリーなパスではなくアイテムIDで表示されます。

<a href="~/link.aspx?_id=D9D103AD60DA4B318521801ADA863222&amp;_z=z">Go to another page</a> 

これはGlassの問題であると確信しています。ページエディタでフィールドを編集可能にしても、リンクを正しく表示させるにはどうすればよいですか?

+2

の可能性のある重複http://stackoverflow.com/questions/38147672/sitecore-links-inserted-in-rich-([リッチテキストエディタに挿入されたサイトコアのリンクは、ユーザーフレンドリーなURLに解決されていません]テキストエディタでは解決されず、ユーザーにとって使い勝手のよいものですか? – Gatogordo

答えて

0

あなたが直接編集可能()メソッドを使用するリテラル使用してからそれを変更しようとすることができ、ような何か:私はInitialize()は、ページのライフサイクルに早すぎると思う

<%= Editable(GlassItem, x => x.Body) %> 
0

Page_Load()程度のようにさらに移動してみてください。

2

モデルに適切な属性があるかどうかを確認できます。

あなたはSitecoreFieldSettings.RichTextRaw属性を持っている場合、それは、ませパススルーパイプラインをレンダリングし、RAW HTMLを返します。代わりにデフォルトSitecoreFieldSettings.Default)を使用すると、リッチテキストコンテンツはレンダリングパイプラインを経由し、URLはフレンドリな形式になります。

http://docs.glass.lu/html/d44739b2-5f0e-d862-f62c-86c50f0b262f.htm

+0

生のテキストを手動でレンダリングパイプラインに通す方法はありますか? – sniels

関連する問題