【问题标题】:DjangoCMS: How to create a placeholder within a pluginDjangoCMS:如何在插件中创建占位符
【发布时间】:2014-07-03 01:07:36
【问题描述】:

我正在创建一个名为 InformationBox 的插件。信息框包含页眉、主体和页脚。页眉和页脚只是CharFields。最初我将主体作为 CKEditor 插件 HTMLField,但是,我不能在 HTMLField 中使用 djangocms-column 插件(和其他插件)。

目前我的models.py中有:

class InformationBoxModel(CMSPlugin):
    header = models.CharField(_("header"), max_length=100)
    footer = models.TextField(_("footer"), default='', blank=True)
    text_field_placeholder = PlaceholderField('text_field_placeholder')

使用一个简单的模板:

{% load cms_tags %}

<section class="box padding">
    <h2>{{ box.header }}</h2>
    <div>{% render_placeholder box.text_field_placeholder %}</div>
    <div class="footer"><p>{{ box.footer }}</p></div>
</section>

我可以在 Chrome 元素检查器中看到,事实上,text_field_placeholder div 有一个占位符类,但是我无法双击进行编辑。

我的问题:

  1. 为什么我不能点击编辑插件内的占位符?
  2. 这是实现我想要实现的目标的正确方法吗?
  3. 是否有更好的方法来创建小部件(帮助用户创建样式化的“框”等)?

【问题讨论】:

    标签: django django-cms


    【解决方案1】:

    如果您使用的是 3.0+,您可以在插件中使用插件。所以你可以有一个盒子插件,里面放一个文字或图片插件。

    http://django-cms.readthedocs.org/en/latest/extending_cms/custom_plugins.html#allow-children

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-31
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 2014-09-29
      • 2015-06-15
      相关资源
      最近更新 更多