【问题标题】:Sitecore links inserted in Rich Text editor are not resolved to user friendly URLs在富文本编辑器中插入的 Sitecore 链接未解析为用户友好的 URL
【发布时间】:2016-11-03 23:58:55
【问题描述】:

我看到了this post,但我不确定如何实际应用这些答案。

我有一个基本模板,它只有一个名为 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>

什么时候应该是这样的

<a href="/blog/2016/february/erica-test-entry">Go to another page</a>

我需要做什么才能让富文本编辑器解析用户友好的 URL?

编辑:这是正文的代码隐藏

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

编辑 2:这是一个使用富文本字段的组件,但我确实需要一个通用修复程序,以便任何使用富文本字段的组件都能正确呈现链接。我不想手动修复每个有富文本字段的地方。

【问题讨论】:

  • 当您在 RTE 中查看它们时,它们只是“不友好”,还是在您看到已发布页面时它们也“不友好”?那些“不友好”的链接在 Sitecore 中被称为Dynamic Links,它们应该在生成页面时被解码为用户友好的链接。
  • 不,当我查看已发布的页面时,它们仍然显示项目 ID
  • RT字段在页面上是如何渲染的?
  • 它是组件中的一个字段,被拖放到页面上
  • 使用 Sitecore FieldRenderersc:Text 而不是 Literal

标签: url hyperlink sitecore rich-text-editor


【解决方案1】:

这可能是由于模型中的属性。

如果您有 SitecoreFieldSettings.RichTextRaw 属性,它将通过渲染管道并返回 RAW HTML。相反,如果您使用 Default (SitecoreFieldSettings.Default),富文本内容将通过渲染管道,并且 url 将采用友好格式。

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

https://stackoverflow.com/a/43261752/3016347

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多