1

django cmsでfacebookのようなボックスプラグインを作成したとしましょう。これにより、ユーザーはページのURLやその他の構成を入力して、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)
4

1 に答える 1

1

2 つのオプションがあります (場合によってはそれ以上)。

django-cms < 3.x を使用している場合は、 djangocms-stacksをインストールできます。これは、プレースホルダーのように管理者から管理できるプラグインの再利用可能な「スタック」を作成できるクールなアプリケーションです。

{% stack "yourstackname" %}スタックは、テンプレート内でに遭遇するたびに、すべてのプラグインをレンダリングします。

django-cms >= 3.x では、このパッケージは cms コアに移動されたため、インストールする必要はありません。

2 番目のオプションは、{% show_placeholder %}テンプレート タグを使用することです。このタグの詳細については、こちらをご覧ください。

于 2013-11-09T20:13:22.983 に答える