配置TinyMCE以在复合C1中使用字体图标

配置TinyMCE以在复合C1中使用字体图标,tinymce,c1-cms,Tinymce,C1 Cms,我使用复合C1 CMS,但其中的定制TinyMCE太疯狂了。简单的问题:我们想使用令人敬畏的字体图标。源代码编辑是可以的。 如果我们添加以下内容: <i class="fa fa-bus"></i> 这是删除。然后,添加一个空格: <i class="fa fa-bus">&#160;</i>  ; i转换为em 如果我在visualeditor.js文件的config中更改了有效的\u元素,则不会发生任何事情,仍然存在相

我使用复合C1 CMS,但其中的定制TinyMCE太疯狂了。简单的问题:我们想使用令人敬畏的字体图标。源代码编辑是可以的。 如果我们添加以下内容:

<i class="fa fa-bus"></i>

这是删除。然后,添加一个空格:

<i class="fa fa-bus">&#160;</i>
 ;
i转换为em

如果我在visualeditor.js文件的config中更改了有效的\u元素,则不会发生任何事情,仍然存在相同的问题


这个问题有什么解决办法吗?无论如何,最好在工具栏“添加图标”中添加一个按钮。

TinyMCE默认情况下会删除空元素,因此您可以在标记之间添加一个
,告诉TinyMCE它不是空的。在旧版本的HTML中,
也使用斜体,因此它试图将旧的斜体标记转换为首选的
强调标记。实际上,您可以使用任何带有字体的标记,因此要解决此问题,只需将
更改为


我知道这是个老问题,但我想在这里加上我的两分钱

众所周知,TinyMce去掉了
,因此我们必须找到绕过这个问题的方法。 在这种情况下,我使用的一种快速方法是将
替换为
,正如Howdy_McGee在我前面提到的那样

总之,在您的示例中,不要使用:

您只需使用:


接受的答案使用
,但这会在图标旁边产生一个间隙,使其稍微偏移。更好的选择是使用注释:


现在TinyMCE不会清理“空”元素,也不会有间隙,但它仍然会将
转换为
。要防止出现这种情况,请将以下内容添加到TinyMCE init中:

tinymce.init({
// ...
扩展的\u有效\u元素:“i[class]”
});
TinyMCE图标字体插件 图标字体的困境多年来一直是一个问题,因此我们需要尽可能少的努力来解决它。插件:

  • 防止TinyMCE将图标转换为元素
  • 防止TinyMCE删除空图标
  • 使图标可选择,以便您可以更轻松地复制/粘贴/删除它们
  • 让我们来配置用于标识图标字体元素的CSS选择器
如果你不想使用该插件,请随时深入了解引擎盖下到底发生了什么

干杯