首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-cms定义嵌套插件的位置

Django-cms定义嵌套插件的位置
EN

Stack Overflow用户
提问于 2016-02-17 06:11:06
回答 1查看 210关注 0票数 1

我想定义一个插件,它可以在多个位置接受子插件,允许用户声明位置(很像占位符)。

请考虑以下几点:

plugins.py

代码语言:javascript
复制
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
from cms.models.pluginmodel import CMSPlugin
from django.utils.translation import ugettext_lazy as _
class Container_Md_4_4_4(CMSPluginBase):
    model = CMSPlugin
    render_template = "plugins/container_md_4_4_4.html"
    cache = False
    allow_children = True
    name = _("Container Plugin, Md, 4-4-4")
plugin_pool.register_plugin(Container_Md_4_4_4)

plugins/container_md_4_4_4.html

代码语言:javascript
复制
{% load cms_tags %}
<div class="col-md-4">
    <-- WANT CHILD PLUGIN TO OPTIONALLY GO HERE -->
</div>
<div class="col-md-4">
    {% for plugin in instance.child_plugin_instances %}
        {% render_plugin plugin %}
    {% endfor %}
</div>
<div class="col-md-4">
    <-- WANT CHILD PLUGIN TO OPTIONALLY GO HERE -->
</div>

所以在上面的模板中,所有子插件都放在中间的div中,但我希望用户能够将子插件放在左边的div中,或者放在右边的div中。用户可能会说,将一个图像插件放在左边,将另一个容器插件(如上图)放在中间,将文本插件放在右边--这将允许动态构建复杂的嵌套布局结构。

所以我想我要找的是插件的“占位符”的功能。

EN

回答 1

Stack Overflow用户

发布于 2016-02-17 13:17:13

你需要把你的插件嵌套到2层深。首先有一个接受Column插件的ContainerPlugin,它接受其他插件。有关示例,请参阅https://github.com/divio/djangocms-grid

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35444000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档