PHPackages                             markocupic/import\_from\_csv - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. markocupic/import\_from\_csv

ActiveContao-module[Utility &amp; Helpers](/categories/utility)

markocupic/import\_from\_csv
============================

Import datarecords from csv-textfile. Backend extension for the Contao Open Source CMS

1.0.5(9y ago)41963[2 issues](https://github.com/markocupic/import_from_csv/issues)[1 PRs](https://github.com/markocupic/import_from_csv/pulls)1LGPL-3.0+PHPPHP &gt;=5.3

Since Dec 28Pushed 9y ago1 watchersCompare

[ Source](https://github.com/markocupic/import_from_csv)[ Packagist](https://packagist.org/packages/markocupic/import_from_csv)[ RSS](/packages/markocupic-import-from-csv/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (1)

Import from CSV
===============

[](#import-from-csv)

Backend Modul für Contao 3

Mit dem Modul lassen sich in einem Rutsch über eine csv-Datei massenhaft Datensätze importieren. Sehr praktisch, wenn z.B. sehr viele Benutzer oder Mitglieder generiert werden müssen. Die csv-Datei wird am besten in einem Tabellenkalkulationsprogramm (excel o.ä.) erstellt und dann als Kommaseparierte Datei (csv) abgespeichert. Ein Beispiel für diese Datei findet sich im Verzeichnis import\_from\_csv/csv/example\_csv.csv.

Warnung!
--------

[](#warnung)

Achtung! Das Modul bietet einen grossen Nutzen. Der Anwender sollte aber wissen, was er tut, da bei falscher Anwendung Datenbanktabellen "zerschossen" werden können und Contao danach nicht mehr funktionstüchtig ist.

Einstellungen
-------------

[](#einstellungen)

### Datentabelle für Import auswählen (Pflichtfeld)

[](#datentabelle-für-import-auswählen-pflichtfeld)

Wählen Sie die Tabelle, in die die Datensätze geschrieben werden sollen.

### Felder für Importvorgang auswählen (Pflichtfeld)

[](#felder-für-importvorgang-auswählen--pflichtfeld)

In der Datenbanktabelle wird nur in die ausgewählten Felder geschrieben. Meistens macht es Sinn, hier alle Felder auszuwählen.

### Felder getrennt von (Pflichtfeld)

[](#felder-getrennt-von-pflichtfeld)

Geben Sie an, durch welches Zeichen in der csv-Datei die Feldinhalte voneinander getrennt sind.

### Felder eingeschlossen von (Pflichtfeld)

[](#felder-eingeschlossen-von-pflichtfeld)

Kontrollieren Sie, ob in der csv-Datei die Feldinhalte noch zusätzlich von einem Zeichen eingeschlossen sind. Oft ist das das doppelte Anführungszeichen. =&gt; "

### Import Modus (Pflichtfeld)

[](#import-modus-pflichtfeld)

Legen Sie fest, ob die Datensätze aus der csv-Datei in der Zieltabelle angehängt werden oder die Zieltabelle vorher geleert werden soll (alter table). Achtung! Gelöschte Datensätze lassen sich, wenn kein Backup vorhanden, nicht mehr wiederherstellen.

### Datei auswählen (Pflichtfeld)

[](#datei-auswählen-pflichtfeld)

Abschliessend wählen Sie die Datei aus, von der in die Datenbank geschrieben werden soll. Tipp: Wenn Sie die Datei ausgewählt haben, klicken Sie voher auf "Speichern" und Sie kriegen eine Vorschau.

Importmechanismus über Hook anpassen
------------------------------------

[](#importmechanismus-über-hook-anpassen)

Mit einem updatesicheren Hook lässt sich die Validierung umgehen oder anpassen. Im folgenden Beispiel sollen die Geokoordinaten beim Import anhand von Strasse, Stadt und Länderkürzel automatisch per Curl-Request von GoogleMaps bezogen werden. Die Koordinaten werden danach in $arrCustomValidation\['value'\] gespeichert und das Array am Ende der Methode als Methodenrückgabewert zurückgegeben. Auch lassen sich Fehlermeldungen generieren, wenn z.B. keine Geokoordinaten ermittelt werden konnten. Dadurch wird der Datensatz übersprungen und nicht in die Datenbank geschrieben.

Um einen Hook zu nutzen, erstellen Sie folgende Ordner und Dateistruktur:

```
system/modules/my_import_from_csv_hook/

    config/

        config.php

        autoload.php

        autoload.ini

    classes/

        MyValidateImportFromCsv.php

```

In die config.php schreibt man folgendes:

```
