【发布时间】:2016-07-25 11:46:06
【问题描述】:
我正在尝试创建一个类,以简化每次重新构建 GridFieldConfig 的过程。我对 CMS 中的几乎每个 GridFieldConfig 都使用以下设置:
$config = GridFieldConfig::create()->addComponents(
new GridFieldToolbarHeader(),
new GridFieldAddNewButton('toolbar-header-right'),
new GridFieldTitleHeader(),
... etc
)
与其每次都重复自己,我宁愿创建一个类,它返回一个带有上面components 的GridFieldConfig 实例。所以我创建了这个类,但是我不确定如何让它正常工作以及如何将它插入到框架/cms中。
<?php
class CustomGridConfig extends ??? {
function __construct() {
$config = GridFieldConfig::create()->addComponents(
new GridFieldToolbarHeader(),
new GridFieldAddNewButton('toolbar-header-right'),
new GridFieldTitleHeader()
... etc
);
return $config;
}
}
最终它将在GridField 中实现如下:
GridField::create('Foo', 'Bar', $this->Foo(), new CustomGridConfig());
我不确定是否可以在这样的类中创建一个类,我也不太确定如何将这个类加载到 CMS 中。
这种设置的概念可行吗?如果是这样,怎么做?这将帮助我了解如何正确扩展框架/cms。
【问题讨论】:
-
我建议使用 Dans 或 Jannes 解决方案,也许更多 Dans,因为它包含更多文档链接。
标签: silverstripe