默认情况下,TinyMCE(4)有一个“段落▼”下拉列表,如果你点击它,你会得到一个格式选项列表(“段落”,“标题1”等)。
我希望能够做两件事。首先,我想更改选项及其名称(例如“Normal”和“Heading”),然后我找到了block_formats
选项,它完全符合以下条件:
block_formats: 'Normal=p;Heading=h1'
然而,我坚持第二件事:为生成的元素添加类。当有人选择“标题”时,我想生成<h1>
,而不是简单的<h1 class="heading">
元素。
我想也许这会奏效:
block_formats: 'Normal=p;Heading=h1.heading'
......但事实并非如此,而且我还没有找到任何其他可以让我这样做的选项。然后,TinyMCE文档并不总是最容易找到答案的地方,这就是我来这里的原因。
有谁知道我如何配置TinyMCE以在生成的元素上使用自定义名称和自定义类的“段落▼”下拉列表?
答案 0 :(得分:1)
我从来没有找到办法做到这一点,所以我最后做的是完全删除块格式下拉列表并将其替换为(自定义)格式下拉列表。换句话说我:
formatselect
配置中移除了toolbar1
(删除了不可配置的普通格式下拉菜单)styleselect
)添加到toolbar1
config style_formats
配置条目
醇>
style_formats
配置如下所示:
style_formats: [
{
title: 'Header',
inline: 'span',
classes: 'someClass',
styles: {someStyle: '5px'}
},
], // next style would go here
这种方法只有两个缺点。首先,下拉菜单现在说&#34; Formats&#34;,我似乎无法在任何地方进行配置。但是我确实有一个格式下拉列表,只有我想要的选项,而这些选项会将所需的类添加到格式化的文本中,因此下拉列表的名称并不重要。
第二个问题是TinyMCE使用了<iframe>
,这阻止了它使用我们的样式表。我本可以为TinyMCE编写一个样式表,然后将其附加到<iframe>
(或使用一些TinyMCE机制,如果有的话)......但我懒惰所以我只使用style:
用于定义样式的每种自定义格式的条目。