在我们的 CMS 中,我们的用户可以使用 TinyMCE 编辑表单的错误消息。问题是,其中一些消息可能需要动态数据,例如"Your chosen name 'X' is invalid"
.
为此,我们使用tokens。以上面为例,我们的用户将输入"Your chosen name '{name}' is invalid"
,并且它将在渲染时被替换。
我目前正在写一个TinyMCE 插件更好地帮助用户管理这些代币。他们单击该图标,从预定义列表中选择一个令牌,然后它将自动插入到内容中。
问题我知道在内容编辑器中如何处理这个令牌。目前,它只是可以编辑的文本,但我想做的是让 TinyMCE 将其视为单个元素,以便可以删除、移动它,但实际令牌本身无法编辑。
我尝试过使用noneditable
插件通过将令牌包装在一个跨度中mceNonEditable
类,但这并不像预期的那样,例如您无法通过退格键删除令牌,如果令牌位于内容末尾,则无法在其后键入,等等。
所以要澄清,我本质上想要的是 TinyMCE 像处理图像一样处理一些文本。它将是一个实心块,也称为一个字符/元素。
这可能吗?
谢谢。
在尝试了大约 100 种不同的解决方法之后,我们终于找到了一个可行的解决方案(无论如何都满足我们的需求)。
我们将插入一个禁用按钮,并删除所有样式。例如,
<input type="button" class="token" value="my token" disabled="disabled" />
然后向 onGetContent() 添加一些代码以将输入转换为纯文本。
这个解决方案虽然不是很优雅,
- 使令牌表现为单个字符/项目。
- 使其只读。
- 在编辑器的上下文中是动态的,因此我们可以显示令牌文本。
Edit: 这就是我们最终的结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)