we/spreadsheetimport

一个流程包,用于将电子表格记录导入可配置的域对象。

安装: 257

依赖项: 0

建议者: 0

安全性: 0

星标: 2

关注者: 12

分支: 1

开放性问题: 1

类型:typo3-flow-package

dev-master 2018-09-25 08:28 UTC

This package is not auto-updated.

Last update: 2024-09-15 05:18:24 UTC


README

一个流程包,用于将电子表格记录导入可配置的域对象。

域模型配置

设置

该包支持导入不同的域模型。每个模型都需要在设置文件中进行配置。特定的配置也称为“上下文”。

最小配置示例 'default' 上下文

WE:
  SpreadsheetImport:
    default:
      domain: WE\Sample\Domain\Model\User
      arguments: ~

通过注释映射

要导入的域模型属性由 Mapping 注解指定,然后可以将其映射到电子表格的列中。

以下方式指定一个简单的属性

/**
 * @var string
 * @SpreadsheetImport\Mapping
 */
$firstName

Mapping 支持指定进一步配置的属性,例如修改获取器/设置器、标签和标识符的定义。请参阅 WE\SpreadsheetImport\Annotations\Mapping 类以供参考。

参数值

除了从电子表格导入的值外,还可以通过参数或在设置中静态指定固定值。示例

arguments:
- { name: category, domain: 'WE\Sample\Domain\Model\UserCategory', identifier: TRUE }
- { name: comment, static: 'Sample import' }

'category' 参数期望一个 UserCategory 对象作为参数传递。它将通过 setCategory(..) 设置为对象。此外,此值将以与 Mapping 注解中标识符属性相同的方式用作标识符。'comment' 参数具有静态值,并将简单地调用 UserCategory::setComment('Sample import')

使用方法

技术

每次导入时,都需要创建一个特定的 \WE\SpreadsheetImport\Domain\Model\SpreadsheetImport 对象,然后可以通过 SpreadsheetImportService::import() 函数进行处理。该对象包含域模型与电子表格列之间的列映射。

如何创建 SpreadsheetImport 对象以及导入函数如何进行进度可能因实现而异,并且很容易进行修改。此包中实现的流程作为一个示例场景,但可以使用上面记录的简单配置直接使用。

示例实现

  1. 调用 SpreadsheetImportControllernewAction 创建新的 SpreadsheetImport 对象。
  2. 在对话框的下一步中,需要完成配置的域模型映射属性与电子表格列之间的映射。
  3. 一个对象映射预览显示应用的映射,并需要确认。
  4. 确认后,导入将被安排进行。
  5. 必须调用 ./flow spreadsheetimport:import 函数来处理导入。

要使用示例实现,可能需要扩展控制器并重写 context 属性。