我知道有一个GridFieldExportButton它导出 GridField 的所有数据。但我想要的是一个自定义按钮,它仅导出一个 DataObject 的所有 $db
字段(或者只是其中几个)。保存为 CSV 文件并下载。因此,我希望此按钮位于该 DataObject 的编辑区域中,而不是用于显示所有数据对象的 GridField 中。
我已经有了按钮,现在我需要正确的功能。有人可以帮助我吗?
最佳答案
您可以更改为任何 DataObject 导出的字段在 ModelAdmin具有以下内容:
模型管理员:
class MyModelAdmin extends ModelAdmin {
...
static $managed_models = array(
'MyDataObject'
);
...
public function getExportFields() {
$modelClass = singleton($this->modelClass);
return $modelClass->hasMethod('getExportFields')
? $modelClass->getExportFields()
: $modelClass->summaryFields();
}
...
}
我的数据对象:
class MyDataObject extends DataObject {
...
public function getExportFields() {
$exportFields = array(
//Add all "db" fields here
);
return $exportFields;
}
...
}
如果您希望将导出附加到其他位置的按钮,我建议您将按钮更改为链接到 ModelAdmin
导出 CSV
链接
关于field - 银条3.2 : How to export db fields of only one Dataobject in a CSV file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34786593/