在Django-CMS 4.1中的HTMLField中添加插件

htzpubme  于 12个月前  发布在  Go
关注(0)|答案(1)|浏览(125)

我正在努力添加插件内HTMLField作为djangocms-text-ckeditor在最新版本Django-Cms 4.1.0rc4添加fileimage插件/按钮在它的工具栏。
在我的models.py

class PortfolioItem(CMSPlugin):
    # Attributes - Mandatory
    title = models.CharField(_('title'),
                    max_length=200, 
                    blank=False)

    content = HTMLField()

字符串
settings.py

CMS_PLACEHOLDER_CONF = {
 
    'content': {
        'name' : _('Content'),
        'plugins': ['TextPlugin', 'LinkPlugin', 'FilerImage'],
        'default_plugins':[
            {
                'plugin_type':'TextPlugin',
                'values':{
                    'body':'<p>Great websites : %(_tag_child_1)s and %(_tag_child_2)s</p>'
                },
                'children':[
                    {
                        'plugin_type':'LinkPlugin',
                        'values':{
                            'name':'django',
                            'url':'https://www.djangoproject.com/'
                        },
                    },
                    {
                        'plugin_type':'FilerImage',
                        'values':{
                            'name':'django-cms',
                            'url':'https://www.django-cms.org'
                        },
                    },
                ]
            },
        ]
    }
}
CKEDITOR_SETTINGS = {
    'language': '{{ language }}',
    'toolbar': 'CMS',
    'toolbar_HTMLField': [
        ['Undo', 'Redo'],
        ['cmsplugins', '-', 'ShowBlocks'],
        ['Format', 'Styles'],
    ],
    'skin': 'moono-lisa',
}


我不能得到插件列表和fileimage按钮不显示。我如何得到嵌套编辑器内的插件?
ps:在控制台我得到

bundle-9f0bbac8ec.cms.ckeditor.min.js:25 [CKEDITOR] Error code: editor-plugin-deprecated. {plugin: 'flash'}

uplii1fm

uplii1fm1#

您不能在HTML字段中添加插件。
但是您可以做的是拥有子插件,这样PortfolioItem就可以包含其他插件。
插件配置的主要选项是allow_children,它允许您在插件的示例中嵌套其他插件。
您还可以使用child_classes限制可以嵌套的插件。类似地,插件可以定义parent_classes,仅允许它成为给定父插件类的子插件。

相关问题