Django CMS 管理模板页面中的占位符

Django CMS manage placeholder in template pages

在两点上我希望得到你的帮助:

首先,我正在创建一些默认页面的模板,例如: "Home.html, work-with-us.html"等

我的目标是简化网站负责人的工作。他们不必学习如何在占位符内管理插件。

因此,我创建了一些这样的占位符,例如 "workwithus.html" :

{% extends "base.html" %}
{% load cms_tags staticfiles sekizai_tags menu_tags %}
{% block content %}
<div class="container">

    <div class="col-xs-12">
        {% placeholder "image-full" %}
    </div>

    <div class="col-md-12">
        {% placeholder "text-platform" %}
    </div>
</div>
{% endblock content %}

我是这样管理插件的:

CMS_PLACEHOLDER_CONF = {
'image-full': {
    'plugins': ['FilerImagePlugin'],
    'name': gettext("Image full page"),
    'default_plugins': [
        {
            'plugin_type': 'FilerImagePlugin',
            'values': {
            },
        },
    ],
    'limits': {
        'global': 1,
        'FilerImagePlugin': 1,
    },
},

等等

问题是,我不能在同一个模板中多次使用同一个占位符。如果当我创建一个占位符 "img-full-width" 时我可以多次调用它,那就太好了。 你有什么想法吗?一种使它比创建 "img-full-2"、"img-full-3" 等

更合适的方法

第二个问题: 是否可以添加多个 default_plugins ?真的很烦我...

非常感谢你们!

您可以拥有任意数量的插件 default_plugins

http://django-cms.readthedocs.org/en/support-3.0.x/reference/configuration.html#placeholder-default-plugins

You can specify the list of default plugins which will be automagically added when the placeholder will be created (or rendered).

如果您对必须为每个占位符重新定义 CMS_PLACEHOLDER_CONF 感到恼火,您总是可以在 CMS_PLACEHOLDER_CONF 块之前定义一个通用配置:

img_fullwidth_conf = {
    'plugins': ['FilerImagePlugin', 'TextPlugin'],
    'name': gettext("Image full page"),
    'default_plugins': [
        {
            'plugin_type': 'FilerImagePlugin',
            'values': {
            },
        },
        {
            'plugin_type': 'TextPlugin',
            'values': {
                'body': '<p>Write here...</p>'
            },
        },
    ],
}

CMS_PLACEHOLDER_CONF = {
    'img-full-1': img_fullwidth_conf,
    'img-full-2': img_fullwidth_conf,
    'img-full-3': img_fullwidth_conf,

}