SilverStripe 3 - 在“添加页面”窗体中隐藏BlogEntry页面类型

时间:2014-04-15 12:54:22

标签: silverstripe

我扩展了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 {

2 个答案:

答案 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;
}