如何在redactor中更改格式菜单选项?

时间:2014-06-02 17:41:39

标签: redactor

默认情况下,在“格式”菜单下(单击按钮时),有以下选项:

Normal Text
Quote
Code 
Header 1
Header ...
Header 5

我想只有这些选项:

Normal Text
Quote
Code

有没有办法做到这一点?我一直在搜索配置选项,但却未能找到如何操作。

2 个答案:

答案 0 :(得分:2)

Olivérs的回答是错误的。

您可以通过执行以下操作轻松实现此目的:

$('#redactor').redactor({
    formattingTags: ['p', 'blockquote', 'pre']
});

演示:http://jsfiddle.net/EkM4A/

答案 1 :(得分:1)

遗憾的是,实现此目的的唯一方法是在初始化之前decorate编辑实例,并覆盖编辑器中的默认工具栏设置。

您可以在此处查看正在运行的POC:http://jsfiddle.net/Zmetser/7m3f9/

以下代码:

$(function() {
    // Decorate redactor Object before init
    $.Redactor.fn = (function () {
        var toolbarInitOriginal = this.toolbarInit;
        // Create a new toolbarInit method which suits our needs
        this.toolbarInit = function (lang) {
            // Grab the default toolbar...
            var toolbar = toolbarInitOriginal(lang);
            // ...and overwrite the formatting dropdown menu
            toolbar.formatting.dropdown = {
                p: {
                    title: lang.paragraph,
                    func: 'formatBlocks'
                },
                blockquote: {
                    title: lang.quote,
                    func: 'formatQuote',
                    className: 'redactor_format_blockquote'
                },
                pre: {
                    title: lang.code,
                    func: 'formatBlocks',
                    className: 'redactor_format_pre'
                },
            };

            return toolbar;
        };

        return this;
    }.call($.Redactor.fn));

    // Init redactor
    $('#redactor').redactor({
        buttons: ['link', 'formatting', 'html']
    });
});