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