CKEditor 插入带有样式的非可编辑 HTML

9

我目前正在将CKEditor移植到concrete5中。作为其中的一部分,concrete5具有创建“片段”并通过编辑器插入的功能。开发人员可以定义这些小部件产生何种HTML输出,但在编辑模式下,它只显示以下HTML占位符:

'<span 
    class="ccm-content-editor-snippet" 
    contenteditable="false" 
    data-scsHandle="' + selectedSnippet.scsHandle + '"
>' + selectedSnippet.scsName +'</span>'

我研究了CKEditor小部件,但不想在我的工具栏中添加可能需要大量按钮才能激活此类功能。我想知道是否可以将某些内容添加到stylescombo下拉列表(或类似下拉列表)中,然后插入像上面那样的代码片段。
目前,我试图做到这一点的内容可以在https://github.com/ExchangeCore/Concrete5-CKEditor/blob/feature/magicstyles/assets/concrete5styles/plugin.js#L17-L30 中找到。这并不完美,因为我无法将selectedSnippet.scsName插入到样式的innerHTML中。是否有一些方法可以做到这一点或者是否有其他更明显的方法在CKEditor内实现这种插入功能而不需要制作大量的工具栏按钮?
此外,该span的内容应该可以被删除,但不能被编辑。
1个回答

3
使用此插件,您可以创建一个下拉菜单来插入任何想要的HTML块:http://ckeditor.com/addon/htmlbuttons 如果不符合您的需求,请查看源代码并选择您所缺少的部分。

我最终从这里抓取了一些代码。它运行得相当不错,但我必须小心加载顺序,我发现如果我尝试在所有内容已经初始化之后添加一个按钮,它就不会显示出来(例如在ajax请求中)。 - Joe Meyer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接