1

假设我在 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)
4

1 回答 1

1

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

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

每当遇到{% stack "yourstackname" %}模板中的 时,堆栈都会渲染它的所有插件。

在 django-cms >= 3.x 中,这个包被移到了 cms 核心,所以不需要安装它。

第二个选项是使用{% show_placeholder %}模板标签。您可以在此处阅读有关此标签的更多信息。

于 2013-11-09T20:13:22.983 回答