将blockquote添加到djangocms-text-ckeditor

时间:2016-12-01 12:11:09

标签: django djangocms-text-ckeditor

有人知道如何将HTML元素blockquote添加到djangocms-text-ckeditor,以便用户可以从下拉列表中进行选择而不是直接修改HTML代码吗?

我很确定这是支持的,就像我添加html:

一样
<blockquote>Text goes here...</blockquote>

直接到源面板,它被格式化并显示良好:

Example block quote

我尝试在设置中添加自定义样式,如下所示:

CKEDITOR_SETTINGS = {            
    'stylesSet': [
        {'name': 'PullQuote', 'element': 'blockquote', 'styles': {'color': 'Blue'}}
    ],
}

但这不起作用。我知道语法是正确的,因为当我将元素更改为“h1”时,它可以正常工作。

我不是100%如何修改段落格式下拉列表,但如果可能的话,更有意义的是blockquote住在这里。

非常感谢任何帮助。

更新

我意识到我一定是误解了stylesSet的所作所为。如果我添加上述设置,然后手动输入blockquote的html,我可以选择此块引用的样式,将其变为蓝色。这不是我想要做的,但是有道理。

所以我想我希望将blockquote添加到段落格式中。现在我不清楚是否支持,就像我尝试将以下内容添加到我的设置中时:

CKEDITOR_SETTINGS = {    
    'format_tags': 'p;h1;h2;h3;h4;h5;h6;pre;address;div;blockquote', 
}

也就是说,将blockquote添加到默认值的末尾,编辑器无法完全加载。如果我只删除单词blockquote,则编辑器按预期工作。

如果是这样的话,那将是一种耻辱,因为我将不得不创建一个纯粹用于添加blockquote的子插件,这似乎有些过分。

2 个答案:

答案 0 :(得分:1)

似乎要将此功能添加到默认编辑器中,您必须更新settings.py文件中的配置。 The documentation for django-ckeditor是我的起点。

settings.py

CKEDITOR_CONFIGS = {
    'default': {
        'toolbar_CustomConfig': [
            {'name': 'clipboard', 'items': ['Undo', 'Redo']},
            {'name': 'yourcustomtools', 'items': [
                'Preview',
                'Maximize',
            ]},
            '/',
            {'name': 'styles', 'items': ['Styles', 'Format']},
            {'name': 'basicstyles',
             'items': ['Bold', 'Italic', 'Underline', 'Strike', '-', 'RemoveFormat']},
            {'name': 'paragraph',
             'items': ['NumberedList', 'BulletedList', 'Blockquote']},
            {'name': 'links', 'items': ['Link', 'Unlink', 'Anchor']},
            {'name': 'insert',
             'items': ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar']},
            {'name': 'colors', 'items': ['TextColor', 'BGColor']},
        ],
        'toolbar': 'CustomConfig',  # put selected toolbar config here
        'tabSpaces': 4,
    }
}

这应该是常规栏的全部功能以及加引号(加上有序和无序列表)。

答案 1 :(得分:0)

所以我设法解决了我自己的问题,感谢这个解决方案的绊脚石:

Load blockquote plugin in CKEditor

我必须在工具栏中启用blockquote,我已使用以下设置完成。

CKEDITOR_SETTINGS = {    
    'toolbar_CMS': [
        ['Undo', 'Redo'],
        ['cmsplugins', '-', 'ShowBlocks'],
        ['Format', 'Styles'],
        ['TextColor', 'BGColor', '-', 'PasteText', 'PasteFromWord'],
        ['Maximize', ''],
        '/',
        ['Bold', 'Italic', 'Underline', '-', 'Subscript', 'Superscript', '-', 'RemoveFormat'],
        ['JustifyLeft', 'JustifyCenter', 'JustifyRight'],
        ['HorizontalRule'],
        ['Link', 'Unlink'],
        ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Table', 'Blockquote'],
        ['Source'],
    ]
}