重用相同的django cms插件实例

时间:2013-11-06 00:25:32

标签: django plugins django-cms

可以说我在django cms中创建了一个类似于facebook的插件插件,它允许用户放入页面网址和其他配置来显示类似于Facebook的框。

现在用户希望在多个页面上显示相同的框,是否可以重复使用相同的插件实例,而无需在每个页面上创建插件?

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)

1 个答案:

答案 0 :(得分:1)

您有两种选择(可能更多)。

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

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

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

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