1
我想定義一個插件,它可以在多個位置接受子插件,允許用戶聲明位置(很像佔位符)。Django-cms定義嵌套插件的位置
考慮以下幾點:
plugins.py
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)
插件/ container_md_4_4_4.html
{% 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。用戶可能會說,在左邊放置一個圖像插件,在中間放置另一個容器插件(如上面的這個插件),右邊放置文本插件 - 這樣可以實現複雜的嵌套佈局結構。
所以我想我正在尋找的是插件的'佔位符'的功能。
對不起,但該鏈接中的示例在哪裏? –
以及整個應用程序是例子。具體的插件,請看https://github.com/divio/djangocms-grid/blob/master/djangocms_grid/cms_plugins.py – ojii