django-cms中的默认内容插件

ken*_*der 6 django content-management-system django-cms

我开始使用django CMS项目.它很棒,采用模块化设计而构建......但实际上我们的客户想要的是更简单:

在这里,在django CMS中,每个页面都可以包含许多内容"插件" - 无论是文本,图像还是其他.但是客户想要为每个新页面自动激活,选择和创建文本插件 - 并在该文本字段上工作.这对他们来说更简单.

有没有人在使用这个CMS系统之前做过类似的事情?或者,您可以推荐任何其他简单的django CMS解决方案?

小智 0

最快但可能不是最优雅的方法是:

  • 编写一个脚本,在从下拉列表中选择和添加文本插件时模仿用户行为;
  • 覆盖 PageAdmin 以包含我们的脚本。

事情是这样的:

# anywhere in your project, for example, site/admin.py
from cms.models import Page
from cms.admin.pageadmin import PageAdmin

class ModPageAdmin(PageAdmin):
    class Media:
        js = ('js/cms.page.js',)

admin.site.unregister(Page)
admin.site.register(Page, ModPageAdmin)
Run Code Online (Sandbox Code Playgroud)
# in MEDIA_URL/js/cms.page.js
$(document).ready(function(){
    ph = $("div.form-row.main") // replace "main" with your placeholder name, lower-case
    $("select", ph).val('TextPlugin')
    window.setTimeout(function(){ $("span.add-plugin", ph).click() }, 500)
})
Run Code Online (Sandbox Code Playgroud)