onImport & onExport - landrisek/impala GitHub Wiki
Export
Define your own ExportService implementing Impala\IExportService and pass it as parameter to export method: /** @var MyExportService @inject */ public $exportService; public actionDefault($value) { $this->grid->table('table') ->export($exportService); } or pass boolean to use default Impala\ExportService: public actionDefault($value) { $this->grid->table('table') ->export(true); } to exclude column from export use @hidden,@unrender or @unexport annotation in select statment: ->select(['column' => 'table.column@unexport'])
Import
Define your own ImportService implementing Impala\IImportService and pass it as parameter to export method: /** @var MyImportService @inject */ public $importService; public actionDefault($value) { $this->grid->table('table') ->import($importService); }
Files (images, csv)
final class MyImageService implements Impala\IImport { public function save(array $response): void { $response['row'][$response['key'] . 'gallery']['Attributes']['data']['' . $size] = self::ASSETS . $response['file']; $this->imagesRepository->addImage($response['primary']['Attributes']['value']); } final class MyImageService implements Impala\IImport { public function save(array $response): void { file_put_contents(self::ASSETS . $response['_name'], $response['_file']); }