TinyMCE 5:如何从菜单中删除 fontname 和 fontsize?

TinyMCE 5: How can I remove fontname and fontsize from the menu?

我不想在 tinyMCE 5 中禁用 fontname 和 fontsize 的选项。我该如何实现?在文档中我只找到了用于编辑格式的选项,但没有从下拉列表中删除这些选项的简单选项。

如果您想更改默认菜单结构,您需要自己定义菜单的整个结构。例如你可以这样做:

menu : {
    file: {title: 'File', items: 'newdocument'},
    edit: {title: 'Edit', items: 'undo redo | cut copy paste pastetext | selectall'},
    insert: {title: 'Insert', items: 'image link media template codesample'},
    format: {title: 'Format', items: 'bold italic underline'},
}

...这将完全删除一些菜单(例如 Table)并减少其他菜单中可见的选项。重要的是要记住,一旦您自己定义了菜单,您就必须定义菜单上的每个选项

默认菜单结构在 theme.js 文件中定义。在 TinyMCE 5.4.2(当前版本)中它被定义为:

var defaultMenus = {
  file: {
    title: 'File',
    items: 'newdocument restoredraft | preview | print | deleteallconversations'
  },
  edit: {
    title: 'Edit',
    items: 'undo redo | cut copy paste pastetext | selectall | searchreplace'
  },
  view: {
    title: 'View',
    items: 'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments'
  },
  insert: {
    title: 'Insert',
    items: 'image link media addcomment pageembed template codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor toc | insertdatetime'
  },
  format: {
    title: 'Format',
    items: 'bold italic underline strikethrough superscript subscript codeformat | formats blockformats fontformats fontsizes align | forecolor backcolor | removeformat'
  },
  tools: {
    title: 'Tools',
    items: 'spellchecker spellcheckerlanguage | a11ycheck code wordcount'
  },
  table: {
    title: 'Table',
    items: 'inserttable | cell row column | advtablesort | tableprops deletetable'
  },
  help: {
    title: 'Help',
    items: 'help'
  }
}; 

如果您只想删除菜单上的几个选项,您可以使用默认设置作为起点,然后只删除不需要的项目。