guushuizen/nova-importer

允许开发者为其 Nova 资源创建自定义导入功能

1.2 2019-04-01 19:14 UTC

This package is auto-updated.

Last update: 2024-09-29 05:08:47 UTC


README

Latest Stable Version Total Downloads Monthly Downloads License

允许 Laravel Nova 开发者为他们的资源创建自定义导入功能

Nova Import Card Screenshot

安装

您可以通过 composer 将此包安装到使用 Nova 的 Laravel 应用程序中

composer require guushuizen/nova-importer

之后,我们需要发布 config.php 文件

php artisan vendor:publish --provider=GuusH\NovaImporter\CardServiceProvider

接下来,您必须注册卡片。这通常在相应资源的 card 方法或 NovaServiceProvider 中完成。

// in app/Providers/NovaServiceProvider.php or app/Nova/<Resource>.php

// ...

public function card()
{
    return [
        // ...
        new \GuusH\NovaImporter\NovaImporter(App\Nova\User::class),
    ];
}

自定义

要自定义导入过程,请创建一个新的导入器类。导入器类基本上是 laravel-excel 包的导入实现。开始的最简单方法是扩展 Sparclex\NovaImportCard\BasicImporter 并重写不同的方法。在导入过程中,您可以抛出类型为 Sparclex\NovaImportCard\ImportException 的异常,显示用户可见的错误消息。您还可以添加 message(): String 方法来自定义成功消息。

自定义导入器类可以在全局或资源基础上注册。

// app/Nova/User.php

class User extends Resource
{

    public static $importer = CustomImporter::class;
    
    // ...
}

// or app/config/nova-import-card.php

return [
    'importer' => CustomImporter::class,
    
    // ...
]

测试

composer test

更新日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

许可

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。