2
我想了解隐藏的最佳实践方法SilverStripe的默认pagetypes例如虚拟页SilverStripe隐藏默认pagetypes
我假定这些pagetypes的代码都埋在核心,这是我宁可保持不动。所以我发现这个方法的工作:
class HidePageType_VirtualPage extends Page implements HiddenClass { static $hide_ancestor = 'VirtualPage'; }
尽管这似乎是最干净和最哈克解决方案,我仍然不知道如果任何人有一个更好的办法。此外,此方法正在根据类名创建新的数据库列,考虑到隐藏页类型的目标没有意义。
干杯,这样做同样的工作(隐藏网页类型的创建没有数据库添加,很好的解决方案。我尝试了同样的方法,而不是'DataExtension',我编写了'VirtualPageExtension'并且得到了500错误。 – Faloude
作为一个后续问题:我希望管理员能够查看,创建和编辑错误页面,但是将其从CMS SiteTree for'content_authors'完全隐藏,也就是普通用户。我尝试了相同的方法,但使用'canView',但页面仍然可以在SiteTree中看到。我相信'canView'只会禁用实际打开的页面(奇怪的是,现在有500个错误,canView设置为false)。 – Faloude
@Faloude你需要重写“canView”和“canEdit”...应该工作。 – bummzack