我扩展了BlogEntry类并添加了三个新的页面类型: -
class ResourceBlogEntry extends BlogEntry { ... }
class NewsBlogEntry extends BlogEntry { ... }
class MediaBlogEntry extends BlogEntry { ... }
当我尝试添加BlogHolder的子页面时,它们在新页面列表中显示正常。问题是原始BlogEntry页面类型仍然显示在列表中,我无法删除它。我已经尝试了下一页的所有方法但没有成功: -
http://www.balbus.tk/hide-a-page-from-the-cms-pagetype-dropdown/
我不知道我做错了什么。
仅供参考,本网站使用的是SilverStripe 3.1版。
更多信息
我还在BlogEntry页面类型上使用了dataextension,我不知道这是不是问题。
class CustomBlogEntry extends DataExtension {
答案 0 :(得分:2)
您可以通过将hide_ancestor
static设置为要隐藏的类的名称来执行此操作。
在这种情况下,您可以使用
class ResourceBlogEntry extends BlogEntry
private static $hide_ancestor = 'BlogEntry';
}
添加后请记住要冲洗。
答案 1 :(得分:1)
您可以使用其中一个子类的hide_ancestor
标志执行此操作。在SilverStripe 3.1+中,您需要使用私有静态配置它:
class ResourceBlogEntry extends BlogEntry {
private static $hide_ancestor = true;
}