私は公式のドキュメンテーションとこれに関連する掲示板を検索しようとしましたが、関連するものは何も見つかりませんでした。Wagtailで新しいページを非表示にする
私のウェブサイトのページのテンプレートの一部は、一度のみ使用することができます。ホームページ。
新しいページを作成するときにユーザーがテンプレート/ページモデルを選択しないようにする方法はありますか?
私は公式のドキュメンテーションとこれに関連する掲示板を検索しようとしましたが、関連するものは何も見つかりませんでした。Wagtailで新しいページを非表示にする
私のウェブサイトのページのテンプレートの一部は、一度のみ使用することができます。ホームページ。
新しいページを作成するときにユーザーがテンプレート/ページモデルを選択しないようにする方法はありますか?
YourPageModel.parent_page_types
(http://docs.wagtail.io/en/v1.10.1/reference/pages/model_reference.html#wagtail.wagtailcore.models.Page.parent_page_typesを参照)を編集して、ページタイプを作成できる場所を制限することができます。同様にsubpage_types
の設定があるので、たとえばNewsIndexPage
はHomePage
の直接の子としてのみ作成でき、NewsItemPage
のインスタンスのみを含めることができます。これをユーザーのアクセス許可と組み合わせると、ツリー内の十分な場所にあるホームページやページタイプに十分なはずです。
特定のページタイプの1つだけが存在するように強制する必要がある場合は、クラスメソッドclean_parent_page_models
をオーバーライドして、このクラスのインスタンスがすでに存在する場合は[]
を返すことができます。このアプローチはハックですが、Wagtailの将来のバージョンでは壊れているかもしれません。
恐ろしく、ありがとう!これはチュートリアルには含まれていません:/ - しかし、今私は誰もGoogleがこれを検索する人はこのポストを見つけると思います! – DDiran
良い提案。プルの要求は常に歓迎されます。 https://github.com/wagtail/wagtail/blob/master/docs/getting_started/tutorial.rst – nimasmi