Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SilverStripe按自定义顺序排序页面列表_Php_Silverstripe - Fatal编程技术网

Php SilverStripe按自定义顺序排序页面列表

Php SilverStripe按自定义顺序排序页面列表,php,silverstripe,Php,Silverstripe,是否有办法按自定义顺序(而不是按字母顺序)对创建页面菜单中的页面列表进行排序 我正在寻找一种类似于ModelAdmin菜单项排序方式的解决方案: private static$menu\u priority=2 目前没有,因为它已硬编码为按“单数名称”排序,请参阅 尽管如此,您仍然可以将CMSMain类作为子类,覆盖方法PageTypes(),并告诉SilverStripe使用您的子类,而不是原始的 例如: 在您的config.yml Injector: CMSMain: class

是否有办法按自定义顺序(而不是按字母顺序)对创建页面菜单中的页面列表进行排序

我正在寻找一种类似于ModelAdmin菜单项排序方式的解决方案:

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