2

我知道有一个GridFieldExportButton可以导出GridField的所有数据。但我想要的是一个自定义按钮,它可以导出CSV 文件中只有一个DataObject$db的所有字段(或者只是其中的几个)并下载它。所以我想要这个数据对象的编辑区域中的这个按钮,而不是显示所有数据对象的 GridField。

我已经有了按钮,现在我需要正确的功能。有人可以帮助我吗?

4

1 回答 1

2

您可以使用以下内容更改为ModelAdmin中的任何DataObject导出的字段:

模型管理员:

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链接

于 2016-03-17T07:36:52.203 回答