field - 银条3.2 : How to export db fields of only one Dataobject in a CSV file?

标签 field export-to-csv silverstripe data-objects

我知道有一个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/

相关文章:

java - 如何根据类型参数化 Java 泛型中的静态字段

C# 从 Word 文档中检索 FormFields 并插入到文本文件中

java - 无法声明类字段

powershell - 为什么 Export-CSV 会覆盖整个 CSV 内容而不是只覆盖指定的数据?

Silverstripe 通过模型管理员访问一页

java - 通过对象访问时静态最终字段和在声明时初始化的实例最终字段之间的差异

php - 我的 csv 导出显示 html,如何摆脱?

shell - 从 shell 命令行将配置单元表导出到 CSV 时自定义分隔符?

silverstripe - 如何在 Silverstripe 模型管理员中自动发布上传到数据对象的文件

tabs - SilverStripe 选项卡自定义