2017-05-23 100 views
1

我试过搜索官方文档和相关的留言板,但是我一直无法找到任何相关的东西。隐藏在W created中创建的新页面

我网站中某些页面的模板只能使用一次 - 例如,主页。

在创建新页面时,W to有没有办法隐藏或禁止用户选择该模板/页面模型?

回答

2

您可以通过编辑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实例。将它与用户权限结合起来应该足够用于树中足够高的位置的主页或页面类型。

如果您绝对必须强制只存在某种特定页面类型,则可以覆盖类方法clean_parent_page_models,如果该类的实例已经存在,则返回[]。然而,这种方法是一种黑客攻击,可能会被未来版本的W broken病打破。

+0

太棒了,谢谢!惭愧,这不包括在教程中:/ - 虽然现在我猜想任何Google搜索这个人都会找到这篇文章! – DDiran

+0

好的建议。拉请求总是受欢迎。 https://github.com/wagtail/wagtail/blob/master/docs/getting_started/tutorial.rst – nimasmi