sirdiego / importr
Flexible importer for all kinds of files!
Installs: 9 169
Dependents: 0
Suggesters: 0
Security: 0
Stars: 9
Watchers: 2
Forks: 8
Open Issues: 3
Type:typo3-cms-extension
Requires
- php: ^7.2||^8.0
- typo3/cms-core: ^10.4||^11.5
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.3
- mikey179/vfsstream: ~1
- namelesscoder/typo3-repository-client: ^1.1
- phpmd/phpmd: ^2.4
- scrutinizer/ocular: ^1.3.0
- squizlabs/php_codesniffer: ^3.6
- typo3/testing-framework: ^6.2
Suggests
- phpoffice/phpexcel: Use Excel files as import resource
Replaces
- typo3-ter/importr: 5.0.0
README
The importr can be used to create a bridge between TYPO3 entities and Excel, CSV or other text files.
Installation
After installing the extension via one of the possible methods you need to add the Scheduler Task to your tasks.
- Extbase CommandController Task (extbase) - importr:import:initializeservicemanager
The frequency should be as often as possible (e.g. * * * * *
), this way the Importr can be as precise as possible with the import timings.
TODO: Screenshot
TYPO3 Composer Mode
composer require diego/importr
Via Extension Manager
TODO: Screenshot
Usage
After installing the extension and adding the Scheduler Task you can start configuring your possible imports. These are called Strategies and should be placed on the root of your TYPO3 installation.
A Strategy consists of three main parts. The general configuration, the resource configuration and the target configuration. Every import needs to know from what resource it gets its data (resource) and where to put it (target).
By default the extension ships with an Excel (HDNET\Importr\Service\Resources\Excel), CSV (HDNET\Importr\Service\Resources\Csv) resources and Extbase model (HDNET\Importr\Service\Targets\ExtbaseModel) and database record (HDNET\Importr\Service\Targets\DbRecord) targets.
A simple Strategy can look like this:
Configuration
before: updateInterval: 100 # Sets th after: createImport: 1: importId: 1 start: tomorrow 0400 filepath: uploads/my_import.csv
Resources
HDNET\Importr\Service\Resources\Csv: skipRows: 1 delimiter: ,
Targets
HDNET\Importr\Service\Targets\ExtbaseModel: model: VENDOR\MyExt\Domain\Model\MyModel repository: VENDOR\MyExt\Domain\Repository\MyRepository pid: 123 mapping: 0: myPropertyA 1: myPropertyB 8: myPropertyD