Php SilverStripe按自定义顺序排序页面列表
是否有办法按自定义顺序(而不是按字母顺序)对创建页面菜单中的页面列表进行排序 我正在寻找一种类似于ModelAdmin菜单项排序方式的解决方案:Php SilverStripe按自定义顺序排序页面列表,php,silverstripe,Php,Silverstripe,是否有办法按自定义顺序(而不是按字母顺序)对创建页面菜单中的页面列表进行排序 我正在寻找一种类似于ModelAdmin菜单项排序方式的解决方案: private static$menu\u priority=2 目前没有,因为它已硬编码为按“单数名称”排序,请参阅 尽管如此,您仍然可以将CMSMain类作为子类,覆盖方法PageTypes(),并告诉SilverStripe使用您的子类,而不是原始的 例如: 在您的config.yml Injector: CMSMain: class
private static$menu\u priority=2代码>
目前没有,因为它已硬编码为按“单数名称”排序,请参阅
尽管如此,您仍然可以将CMSMain
类作为子类,覆盖方法PageTypes()
,并告诉SilverStripe使用您的子类,而不是原始的
例如:
在您的config.yml
Injector:
CMSMain:
class: CustomCMSMain
刷新后,SilverStripe应使用您自己的类,您可以通过在自己的类中设置xdebug断点(例如在init方法中)轻松验证该类
请参见对于pull请求来说似乎是一个合理的案例。您确定这一点吗?可以告诉SS使用我的子类和方法而不是原始的吗?我已经阅读了关于使用Injector重写核心类/方法的主题(现在已经两天了),大多数事情倾向于声明这是不可能的。如果使用::create()实例化类是可能的,这应该是内置方法的情况。感谢您提供的代码示例,不幸的是,它与我的尝试产生了相同的效果。它只是将Pages部分拆分为两个相似且功能不全的页面。
Injector:
CMSMain:
class: CustomCMSMain