【问题标题】:Tiny MCE change the format dropdown display textTinymce 更改格式下拉显示文本
【发布时间】:2012-10-31 08:53:11
【问题描述】:

Tiny MCE 有一个格式选择方法:theme_advanced_blockformats 下拉菜单,您可以在其中选择格式。它显示的值如下:段落、标题 1、标题 2 等。我想更改此下拉列表中显示的名称。例如,我想将“标题 1”显示为“子标题”。对于与编辑器一起工作的客户来说,这更有意义。有没有办法在 tinyMCE.init 中做到这一点?不在配置文件中。

【问题讨论】:

    标签: javascript tinymce rte


    【解决方案1】:

    是的,这是可能的。设置 theme_advanced_blockformats 使用

    tinyMCE.init({
            ...
            theme_advanced_blockformats : "p,div,h1,h2,h3,h4,h5,h6,blockquote,dt,dd,code,samp"
    });
    

    要更改标题,您必须修改 tiny_mce/themes/advanced/langs/en.js 下的 lang 文件

    更新:

    您可以使用tinymce.init 中的oninit 和setup tinymce 配置参数更改标题:

    tinymce.EditorManager.i18n['en.advanced.h1'] = 'My desired title';
    

    所以,你可以试试:

    tinyMCE.init({
       ...
       setup : function(ed) {
         ed.onBeforeRenderUI.add(function(ed, cm) {
             tinymce.EditorManager.i18n['en.advanced.h1'] = 'My desired title';
         });
       }
    });
    

    【讨论】:

    • 谢谢!但我专门寻找一种方法来做到这一点,而不必更改 tiny_mce/themes/advanced/langs/en.js 下的 lang 文件。因此,基于每个实例(在 init 中)而不是全局更改它。
    • 看起来很棒!但是我应该在什么时候调用它?我可以获取值,但似乎无法设置它。
    • 嗯,这可能有点棘手。 i18n 的东西需要在 tinymce UI 渲染之前设置,请参阅我的更新答案
    • 对不起,我仍然不明白,我如何才能在没有“黑客”的情况下访问 tinyMCE.init,也就是说,在我的主题范围内。从说mytheme/functions.php 开始(即我可以使用tiny_mce_before_init 过滤器并且可以成功更改各种tinyMCE 配置选项),在哪里放置东西,以获取上述javascript?
    • @Fronker:这取决于调用 tinymce.init 的系统。例如,Joomla 有一个特殊的配置文件,它会变红并用于调用该函数。您的系统也会有一种方法。
    猜你喜欢
    • 1970-01-01
    • 2018-08-31
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多