Django-CMS 4.1.0rc4中如何在HTMLField的CKEditor内添加插件?
在Django-CMS 4.1.0rc4中为HTMLField的CKEditor工具栏添加fileimage插件遇到的问题
我在最新版Django-CMS 4.1.0rc4中,尝试给使用djangocms-text-ckeditor的HTMLField工具栏添加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按钮也不显示,请问如何在嵌套编辑器中添加插件?
控制台报错
bundle-9f0bbac8ec.cms.ckeditor.min.js:25 [CKEDITOR] Error code: editor-plugin-deprecated. {plugin: 'flash'}
解决方案
确认依赖安装:确保
djangocms-filer已正确安装并添加到项目的INSTALLED_APPS中,FilerImage插件依赖该包才能正常工作。修改CKEditor配置:在
CKEDITOR_SETTINGS中,显式将fileimage添加到工具栏并声明加载该插件,同时移除废弃的flash插件消除报错:CKEDITOR_SETTINGS = { 'language': '{{ language }}', 'toolbar': 'CMS', 'toolbar_HTMLField': [ ['Undo', 'Redo'], ['cmsplugins', 'fileimage', '-', 'ShowBlocks'], # 添加fileimage按钮到工具栏 ['Format', 'Styles'], ], 'extraPlugins': 'fileimage', # 声明要加载的额外插件 'skin': 'moono-lisa', 'removePlugins': 'flash', # 移除废弃的flash插件 }检查CMS插件权限:如果是在
PortfolioItem这个CMS插件的嵌套编辑器中,需确保该插件的配置允许使用FilerImage,可在插件定义文件(如cms_plugin.py)中确认相关权限设置。清除缓存:修改配置后,清除Django缓存和浏览器缓存,确保新配置生效。
内容的提问来源于stack exchange,提问作者ytsejam
相关产品推荐
相关产品推荐

