SilverStripe 博客 GridfieldConfig Lumberjack 排序
SilverStripe Blog GridfieldConfig Lumberjack Sort
博客要求的 SSTR 3.1.16、博客 2.3.0 和 lumberjack -> ~1.1
我不知道应该如何更改 Lumberjack 生成的博客模块中的 GridfieldConfig。
此处生成:
https://github.com/silverstripe/silverstripe-blog/blob/master/code/model/Blog.php#L528
并覆盖此处设置的内容:
https://github.com/silverstripe/silverstripe-lumberjack/blob/1.1/code/extensions/Lumberjack.php#L131
因为我不知道如何在不破解的情况下进行修改,所以我尝试了这样的 Injector:
<?php
class BlogInj extends Blog {
public function getLumberjackGridFieldConfig() {
$ljgfc = GridFieldConfig_Lumberjack::create();
// $ljgfc->addComponent(new GridFieldOrderableRows('Sort'));
// $ljgfc->getComponentByType("GridFieldPaginator")->setItemsPerPage(100);
return $ljgfc;
}
}
config.yml
Injector:
Blog:
class: BlogInj
这显示了设置了选项的 GF(上面已注释掉),但是一旦 BlogInj 博客上存在 getLumberjackGridFieldConfig 函数,就会在保存时抛出错误,例如:
.../framework/core/Object.php 的第 763 行出错
https://github.com/silverstripe/silverstripe-framework/blob/3.1/core/Object.php#L763
首先我应该如何修改 Lumberjacks GF-Config?或者 Injector 真的是我应该使用的吗?如果是这样,我做错了什么?
作为 Blog just returns a GridFieldConfig_BlogPost 对象,您可以尝试将其子类化。
class GridFieldConfig_MyBlogPost extends GridFieldConfig_BlogPost
{
public function __construct($itemsPerPage = null)
{
parent::__construct($itemsPerPage);
// do what you want...
}
}
在你的 config.yml
Injector:
GridFieldConfig_BlogPost:
class: GridFieldConfig_MyBlogPost
博客要求的 SSTR 3.1.16、博客 2.3.0 和 lumberjack -> ~1.1
我不知道应该如何更改 Lumberjack 生成的博客模块中的 GridfieldConfig。
此处生成: https://github.com/silverstripe/silverstripe-blog/blob/master/code/model/Blog.php#L528
并覆盖此处设置的内容: https://github.com/silverstripe/silverstripe-lumberjack/blob/1.1/code/extensions/Lumberjack.php#L131
因为我不知道如何在不破解的情况下进行修改,所以我尝试了这样的 Injector:
<?php
class BlogInj extends Blog {
public function getLumberjackGridFieldConfig() {
$ljgfc = GridFieldConfig_Lumberjack::create();
// $ljgfc->addComponent(new GridFieldOrderableRows('Sort'));
// $ljgfc->getComponentByType("GridFieldPaginator")->setItemsPerPage(100);
return $ljgfc;
}
}
config.yml
Injector:
Blog:
class: BlogInj
这显示了设置了选项的 GF(上面已注释掉),但是一旦 BlogInj 博客上存在 getLumberjackGridFieldConfig 函数,就会在保存时抛出错误,例如: .../framework/core/Object.php 的第 763 行出错 https://github.com/silverstripe/silverstripe-framework/blob/3.1/core/Object.php#L763
首先我应该如何修改 Lumberjacks GF-Config?或者 Injector 真的是我应该使用的吗?如果是这样,我做错了什么?
作为 Blog just returns a GridFieldConfig_BlogPost 对象,您可以尝试将其子类化。
class GridFieldConfig_MyBlogPost extends GridFieldConfig_BlogPost
{
public function __construct($itemsPerPage = null)
{
parent::__construct($itemsPerPage);
// do what you want...
}
}
在你的 config.yml
Injector:
GridFieldConfig_BlogPost:
class: GridFieldConfig_MyBlogPost