DjangoCMS 添加子插件按钮
DjangoCMS add childplugin button
我有人 PeoplePlugin
可以有很多子插件 PersonPlugin
。我想向编辑模式添加一个按钮(添加子插件)到 PeoplePlugin
的模板,它允许我打开模态以创建新的 'PersonPlugin',就像在侧边工具栏中一样。那可能吗?谢谢。
Django CMS 提供了一个模板标签,旨在允许对您的模型进行前端编辑,通常通过 CMS 中的应用挂钩进行集成。
创建模型实例时 {% render_model_add my_model %}
将在页面中呈现一个 +
图标 (docs),例如;
<h3>
<a href="{{ my_model.get_absolute_url }}">{{ my_model.title }}</a>
{% render_model_add my_model %}
</h3>
这将呈现一个 h3
和您的模型的标题作为 link 到,让我们假设,它是详细视图。然后旁边是,在编辑模式下,一个 +
,您可以双击它来创建 my_model
的实例。如果您不喜欢 +
图标,您也可以使用 render_model_add_block
,它允许自定义标记形成 link 添加表单。
这非常适合应用程序中的模型,但如果用于插件可能会出现问题,因为这种简单的实现不会创建带有占位符 link 的插件或您在创建时可能得到的其他东西通过占位符的插件。
另一个为您的模型带来前端编辑的元素是 {% render_model my_model "attr" %}
(docs),它将在上下文中向用户呈现该模型实例的属性,如果您处于编辑模式, 允许您双击它来编辑 object.
这种编辑的一个例子是联系信息模型;
{% render_model_block contact_info %}
<h2>{{ instance.contact_modal_heading }}</h2>
<ul>
<li>
<strong>Phone:</strong> <a href="tel:{{ instance.phone }}">{{ instance.phone }}</a>
</li>
<li>
<strong>Email:</strong> <a href="mailto:{{ instance.email }}">{{ instance.email }}</a>
</li>
</ul>
{% endrender_model_block %}
<div>
{% render_placeholder contact_info.contact_content 500 %}
</div>
我有人 PeoplePlugin
可以有很多子插件 PersonPlugin
。我想向编辑模式添加一个按钮(添加子插件)到 PeoplePlugin
的模板,它允许我打开模态以创建新的 'PersonPlugin',就像在侧边工具栏中一样。那可能吗?谢谢。
Django CMS 提供了一个模板标签,旨在允许对您的模型进行前端编辑,通常通过 CMS 中的应用挂钩进行集成。
创建模型实例时 {% render_model_add my_model %}
将在页面中呈现一个 +
图标 (docs),例如;
<h3>
<a href="{{ my_model.get_absolute_url }}">{{ my_model.title }}</a>
{% render_model_add my_model %}
</h3>
这将呈现一个 h3
和您的模型的标题作为 link 到,让我们假设,它是详细视图。然后旁边是,在编辑模式下,一个 +
,您可以双击它来创建 my_model
的实例。如果您不喜欢 +
图标,您也可以使用 render_model_add_block
,它允许自定义标记形成 link 添加表单。
这非常适合应用程序中的模型,但如果用于插件可能会出现问题,因为这种简单的实现不会创建带有占位符 link 的插件或您在创建时可能得到的其他东西通过占位符的插件。
另一个为您的模型带来前端编辑的元素是 {% render_model my_model "attr" %}
(docs),它将在上下文中向用户呈现该模型实例的属性,如果您处于编辑模式, 允许您双击它来编辑 object.
这种编辑的一个例子是联系信息模型;
{% render_model_block contact_info %}
<h2>{{ instance.contact_modal_heading }}</h2>
<ul>
<li>
<strong>Phone:</strong> <a href="tel:{{ instance.phone }}">{{ instance.phone }}</a>
</li>
<li>
<strong>Email:</strong> <a href="mailto:{{ instance.email }}">{{ instance.email }}</a>
</li>
</ul>
{% endrender_model_block %}
<div>
{% render_placeholder contact_info.contact_content 500 %}
</div>