Download the PHP package markocupic/export_table without Composer
On this page you can find all versions of the php package markocupic/export_table. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download markocupic/export_table
More information about markocupic/export_table
Files in markocupic/export_table
Package export_table
Short Description Export Contao database tables to CSV- or XML-files.
License MIT
Informations about the package export_table
Export Table für Contao CMS
Mit dieser Erweiterung lassen sich aus dem Contao Backend heraus Datenbank-Tabellen ins CSV- oder XML-Format exportieren. Dabei kann der Export konfiguriert werden.
- Export-Typ auswählen (CSV/XML)
- Tabelle auswählbar
- Felder auswählbar
- Kopfzeile ja/nein
- Über die Eingabe eines json-Arrays Datensätze filtern
- Ausgabe sortierbar (Feldname und Richtung)
- Delimiter einstellbar (Default: ;)
- Enclosure einstellbar (Default: ")
- BOM (für korrekte Darstellung von UTF-8 codierten Zeichen in MS Excel)
- Trennzeichen für Arrays einstellbar
- Deeplink Support
- Speicher-Verzeichnis wählbar
- Dateiname wählbar
- Extension mit HOOKS und weiteren Writern erweiterbar
Der Einsatz von Filtern
Der Export ist über Filter konfigurierbar.
Folgender einfacher Filter für die Mitgliedertabelle tl_member lässt nur Frauen aus Luzern zu:\
[["gender=? AND city=?"],["female","Luzern"]]
Oder nur Frauen aus Luzern oder Bern:\
[["gender=? AND (city=? OR city=?)"],["female","Luzern", "Bern"]]
Oder alle Mitglieder aus der Mitgliedergruppe mit der ID 3:
[["tl_member.groups LIKE '%:\"3\";%' AND id > ?"],["0"]]
Auch der Gebrauch von Contao Insert Tags ist möglich:\
[["lastname=? AND city=?"],["{{user::lastname}}","Oberkirch"]]
Oder Parameterübergabe aus der URL:\
[["lastname=? AND city=?"],["{{GET::lastname}}","Oberkirch"]]
Für Entwickler: Die Ausgabe über den "exportTable" HOOK steuern
Via Hook kann die Ausgabe angepasst werden. Die Erweiterung selber nutzt diese Hooks. Beispielsweise werden timestamps vie exportTable Hook zu formatierten Daten umgewandelt. Bereits vorhandene Hooks lassen sich über einen eigenen Hook deaktivieren. Dabei muss die Priority so eingestellt werden, dass der neue Hook vor dem bestehenden aufgerufen wird.\ Siehe siehe dieses Beispiel:
HOOK |
---|
exportTable |
exportTablePreWrite |
exportTablePostWrite |
ExportTable aus eigenem Controller heraus nutzen
Die ExportTable-Klasse lässt sich recht simpel auch aus anderen Erweiterungen heraus nutzen.
Dazu muss als Erstes der Export konfiguriert werden. Als Konstruktor-Argument wird der Konfigurationsklasse der Name der zu exportierenden Tabelle übergeben. Mit dieser Minimalkonfiguration werden die Default-Einstellungen übernommen. Ein Beispiel mit einer etwas ausführlicheren Konfiguration findest du weiter unten.
Der eigentliche Export-Service wird mit der Methode $this->exportTable->run($objConfig)
aufgerufen, welche als einzigen Parameter das vorher erstellte Config-Objekt erwartet.
Hier ein etwas ausführlicheres Beispiel eingebettet in einem Custom Controller.
Erstellen eines Custom-Exporter-Services
Falls die beiden Standard-Writer (CSV und XML) nicht genügen sollten, ist es ohne weiteres möglich einen
weiteren Writer hinzuzufügen. Dazu muss eine Writer Klasse geschrieben werden, die das Markocupic\ExportTable\Writer\WriterInterface
implementiert.
In services.yaml
muss die Klasse mit name: markocupic_export_table.writer
getaggt werden. Der Alias sollte eindeutig sein und nicht bereits verwendet worden sein. Z.B. alias: my_custom_csv
Viel Spass mit Export Table!
All versions of export_table with dependencies
ext-xmlwriter Version *
ext-json Version *
contao/core-bundle Version ^4.9 || ^5.0
league/csv Version ^9.8
ramsey/uuid Version ^3.0 || ^4.0