SilverStripe 在 CMSPageController 中更改 $menu_icon

SilverStripe change $menu_icon in CMSPageController

我试图在不编辑核心文件的情况下更改 CMSPageController 中的 $menu_icon 变量(IE:CMS 中菜单项 "Pages" 旁边的图标)。我尝试了以下方法:

1: 在_config.yml

中定义对CMSPageController的扩展
CMSPageController:
  extensions:
    - ChangeMenuIcon

2:在 mysite

中定义 class 并从 CMSPageControllerExtension 扩展
class ChangeMenuIcon extends CMSPageControllerExtension {
    private static $menu_icon = 'framework/admin/images/menu-icons/16x16/information.png';
}

这会导致 500 错误。这实际上是覆盖现有(核心)class 属性 的正确方法吗?

Faloude,因为它是私有静态,您可以尝试直接在 config.yml 中设置它,而不是应用扩展。

CMSPagesController:
  menu_icon: 'framework/admin/images/menu-icons/16x16/information.png';