2014-04-15 59 views
0

我已經擴展了BlogEntry類,並增加了三個新pagetypes: -SilverStripe 3 - 隱藏在添加頁面形式BlogEntry網頁類型

class ResourceBlogEntry extends BlogEntry { ... } 
class NewsBlogEntry extends BlogEntry { ... } 
class MediaBlogEntry extends BlogEntry { ... } 

他們表現出了罰款,在新頁面列表,當我嘗試添加BlogHolder的子頁面。問題是原始的BlogEntry pagetype仍然顯示在列表中,我無法刪除它。我已經嘗試了所有的下頁的方法沒有成功: -

http://www.balbus.tk/hide-a-page-from-the-cms-pagetype-dropdown/

我不知道我做錯了。

僅供參考,本網站使用的是SilverStripe 3.1版。

更多信息

我也用在BlogEntry頁面類型dataextension,我不知道如果是這樣的問題。

class CustomBlogEntry extends DataExtension { 

回答

2

你做到這一點。

在這種情況下,你會使用

class ResourceBlogEntry extends BlogEntry 
    private static $hide_ancestor = 'BlogEntry'; 
} 

記住在添加之後沖洗。

+0

謝謝西蒙。我試圖沖洗時,我搞砸了,你的回答幫助我仔細檢查,看看我做錯了什麼:) – Ben

0

您可以使用其中一個子類的hide_ancestor標誌來做到這一點。在SilverStripe 3.1+需要配置該使用專用靜態:通過設置你要隱藏的類的靜態hide_ancestor的名稱

class ResourceBlogEntry extends BlogEntry { 
    private static $hide_ancestor = true; 
} 
+0

這不是爲我工作: - /謝謝雖然:) – Ben

+0

定義「不工作」 – Zauberfisch

+0

@Zauberfisch我現在工作,謝謝。 「不工作」意味着我仍然在添加頁面表單中獲得Blog Entry的選項。 – Ben