TinyMCE:如何更改格式(“段落”,“标题1”等)

时间:2015-10-31 00:52:09

标签: tinymce tinymce-4

默认情况下,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以在生成的元素上使用自定义名称和自定义类的“段落▼”下拉列表?

1 个答案:

答案 0 :(得分:1)

我从来没有找到办法做到这一点,所以我最后做的是完全删除块格式下拉列表并将其替换为(自定义)格式下拉列表。换句话说我:

  1. formatselect配置中移除了toolbar1(删除了不可配置的普通格式下拉菜单)
  2. 将自定义格式下拉列表(styleselect)添加到toolbar1 config
  3. 使用我的自定义样式
  4. 定义了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:用于定义样式的每种自定义格式的条目。

相关问题