【问题标题】:reuse same django cms plugin instance重用相同的 django cms 插件实例
【发布时间】:2013-11-17 01:58:47
【问题描述】:

假设我在 django cms 中创建了一个 facebook like box 插件,它允许用户输入页面 url 和其他配置来显示 facebook like box。

现在用户想在多个页面上显示相同的框,是否可以重用相同的插件实例而不在每个页面上创建插件?

class FacebookLikeBox(CMSPlugin):
    page_url = models.URLField()
    app_id = models.CharField(max_length=25)
    width = models.CharField(max_length=25)
    height = models.CharField(max_length=25)
    color_scheme = models.CharField(max_length=25, choices=(('light','light'),('dark','dark')))
    show_friends_faces = models.BooleanField(default=True)
    show_posts = models.BooleanField(default=True)
    show_header = models.BooleanField(default=True)
    show_border = models.BooleanField(default=True)

【问题讨论】:

    标签: django plugins django-cms


    【解决方案1】:

    你有两个选择(也许更多)。

    如果您使用的是 django-cms djangocms-stacks 这是一个很酷的应用程序,它允许您创建可重用的插件“堆栈”,可以像占位符一样从管理员管理。

    只要在模板中遇到{% stack "yourstackname" %},堆栈就会渲染它的所有插件。

    在 django-cms >= 3.x 中,此包已移至 cms 核心,因此无需安装。

    第二个选项是使用{% show_placeholder %} 模板标签。你可以阅读更多关于这个标签here

    【讨论】:

    • 在 django cms 的开发版本中称为静态占位符。
    猜你喜欢
    • 2014-05-12
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    相关资源
    最近更新 更多