0

编辑显示名称中包含 HTML 的 Sitecore 项目(例如Title)时,HTML 会立即进行编码。第二次编辑显示名称显示<em>Title</em>已转换为&lt;em&gt;Title&lt;/em&gt;.

我们没有任何自定义代码可以做到这一点;是否有配置参数或其他东西可以控制显示名称的编码方式?

[编辑] 澄清一下,如果我编辑一个项目的显示名称以添加 HTML,然后再次编辑它,则显示名称中包含的 HTML 已被编码。在“显示名称”字段中有几个包含 HTML 的旧项目,并且可以正确呈现。

例如,首先我编辑一个项目的显示名称以添加强调标签...

添加 HTML

...您可以在内容树中看到显示名称是如何更新的。

已更新 HTML

但是,如果我再次编辑该项目,Sitecore 会对 HTML 进行编码,如下所示...

HTML 编码

奇怪的是,内容树中还有其他(较旧的)项目的显示名称中已经包含 HTML,并且 HTML 已正确呈现(请参见下面显示名称中带有标记的项目)。

显示名称中带有 HTML 的项目

我的问题是:什么可能导致 HTML 被编码?

为了回答“你为什么首先要这样做?”这个问题,我会回答这是曾经可以工作但现在突然不行的遗留代码。我不是在建立一个新系统;这是我正在排除故障的现有网站。

4

1 回答 1

3

你的问题有点令人困惑。您究竟期望看到什么与您实际看到的?显示名称是一个简单的文本字段,它不是富文本......我不相信 Sitecore 在这里进行任何编码。

现在,您可以通过从 renderField 管道中删除 Sitecore.Pipelines.RenderField.GetTextFieldValue 使 Sitecore 跳过单行文本字段的解码步骤。然后你会得到该字段中的所有内容,而不是&lt;em&gt;Title&lt;/em&gt;

好的,我想我明白为什么你的问题现在让我感到困惑了。你问题的输入被解码了吗?

编辑:顺便说一句,这个管道条目 GetTextFieldValue 是最近添加的......在 6.3 和 6.6 之间的某个时间。

于 2013-10-08T20:25:34.380 回答