Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Inhalte importieren

Für CMS-Entwickler, die Inhalte in eine Website laden, die vorhandenen Importwerkzeuge und welches zu welcher Quelle passt. Die Seite behandelt xrowextract, ezcsvimport des Kernels, Pakete, den ZIP-Importer…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/cms-developers/importing-content.md

On this page

This page is a translation. Read the English original

Inhalte importieren

Diese Seite richtet sich an Entwickler, die eine Website mit Inhalten von anderswo füllen müssen: aus einer Tabelle, einem anderen CMS, einer alten Exponential-Website, einem Ordner mit Fotos. Verwenden Sie zuerst die vorhandenen Werkzeuge und schreiben Sie ein Skript nur für das, was sie nicht können. Jedes Werkzeug unten ist ausführlich unter Import- und Exportwerkzeuge von Exponential beschrieben; diese Seite hilft Ihnen bei der Wahl.

Inhalt

  1. Welches Werkzeug für welche Quelle
  2. xrowextract: der wichtigste Importer
  3. ezcsvimport: der einfache Importer des Kernels
  4. Pakete: zwischen Exponential-Installationen
  5. Medien, Dokumente und Feeds
  6. Layouts
  7. Über HTTP
  8. Ein eigenes Skript
  9. Regeln für jeden Import

Welches Werkzeug für welche Quelle

QuelleErste WahlHinweise
Eine Tabelle oder CSV-Datei einer Art von Elementxrowextract mit --mapstandardmäßig ein Probelauf
Ein Export eines anderen CMS (WordPress, Drupal, Joomla)in CSV, XML oder JSON umwandeln, dann xrowextractkein Werkzeug liest diese Exporte direkt
Eine andere Exponential-WebsitePakete oder eine Kopie der Datenbank, wenn die ganze Website umzieht
Ein Ordner mit Bildern und Dateiender ZIP-Importer der Upload-Seitebehält auf Wunsch die Ordnerstruktur
Office-Dokumenteezodfbraucht LibreOffice oder OpenOffice auf dem Server
Ein News-Feed während eines ÜbergangsRSS-Importnur die neuesten Elemente des Feeds
Layouts und ihre Regelnexp:layouts export und importzwischen Exponential-Installationen
Ein System, das nur über HTTP erreichbar istein eigenes Skript mit der Kernel-API

Die vollständige Tabelle: Welches Werkzeug für welche Aufgabe.

xrowextract: der wichtigste Importer

xrowextract (se7enxweb/xrowextract, von der composer.json im Hauptverzeichnis verlangt) liest CSV, XML oder JSON und legt Objekte einer Klasse unter einem übergeordneten Knoten an oder aktualisiert sie. Ohne --apply schreibt es nichts, es kann vorhandene Objekte für Aktualisierungen zuordnen, ordnet fremde Spalten Attributen zu, verarbeitet große Dateien im Hintergrund und setzt nach einer Unterbrechung fort:

./console ext:xrowextract:import --file=var/tmp/import/events.csv --class=exp_event --parent=<node id> \
    --map=title=title,start=start_date
./console ext:xrowextract:import --file=var/tmp/import/events.csv --class=exp_event --parent=<node id> \
    --map=title=title,start=start_date --apply

Am einfachsten treffen Sie das Format, indem Sie ein Beispielobjekt der Zielklasse mit xrowextract exportieren und seine Spalten übernehmen (xrowextract, Importieren mit xrowextract).

ezcsvimport: der einfache Importer des Kernels

./console exp:ezcsvimport --class=exp_event --creator=<user object id> --storage-dir=var/tmp/import/files <node id> var/tmp/import/events.csv

Die Datei verwendet ; als Trennzeichen und hat keine Kopfzeile: Spalte n geht über fromString() an das n-te Attribut der Klasse. Es legt nur an, ein zweiter Lauf erzeugt also Duplikate; verwenden Sie es für ein erstes Laden einer einfachen Klasse.

Pakete: zwischen Exponential-Installationen

Pakete (.ezpkg) übertragen Klassen und Inhaltsobjekte mit ihren Dateien von einer Exponential-Installation in eine andere und sind der Weg, Klassen mit Ihrem Projekt auszuliefern (Pakete, Seitenpakete und Installer). Sie sind kein Format, das andere Systeme erzeugen.

Medien, Dokumente und Feeds

  • ZIP-Importer (ezmultiupload): Jede Datei wird je nach Typ zu einem Bild- oder Dateiobjekt; Keep the folder structure legt Ordner an. Die Grenzen stehen in ezmultiupload.ini [ZipSettings]. Bilder, deren Klasse einen Alternativtext verlangt, werden übersprungen, weil ein ZIP keinen hat (Medien und Uploads).
  • Office-Dokumente (ezodf): Writer-Dokumente zu Inhaltsobjekten und zurück.
  • RSS-Import (Setup > RSS): Neue Elemente eines Feeds werden zu Objekten einer gewählten Klasse; der Cronjob rssimport.php führt ihn aus (RSS-Feeds).

Layouts

./console exp:layouts export --all --output=var/tmp/layouts.zip
./console exp:layouts import var/tmp/layouts.zip --dry-run

Layouts, gemeinsame Layouts und ihre Zuordnungsregeln werden als eine ZIP-Datei übertragen (Layouts exportieren und importieren).

Über HTTP

Die REST-Schnittstelle kann ab v2 Knoten anlegen und entfernen (Aktualisierungen antworten mit 501, noch nicht implementiert), und expservices bietet die Funktionen der Administration als HTTP-Dienste an (Die REST-API, Entfernte Dienste und Apps). Verwenden Sie sie, wenn der Importer auf einem anderen Rechner laufen muss; bei großen Importen ist ein Skript auf dem Server schneller.

Ein eigenes Skript

Passt kein Werkzeug, schreiben Sie ein Skript mit der Kernel-API: Lesen Sie die Quelle, ordnen Sie jedes Element zu und legen Sie es dann über eZContentFunctions mit einer Remote-ID je Element an oder aktualisieren Sie es, damit Läufe wiederholt werden können (Inhalte aus PHP und das Gerüst unter Ein eigenes Importskript).

Regeln für jeden Import

  1. Zuerst das Modell. Legen Sie die Klassen und den Ordnerbaum vor dem Import an (Ein Inhaltsmodell entwerfen).
  2. Remote-IDs aus der Quelle (wp-1234, crm-42) an jedem Objekt: Aktualisierungen statt Duplikaten, und Relationen lassen sich in einem zweiten Durchgang auflösen.
  3. Zuerst Medien, dann Behälter in der Reihenfolge der übergeordneten Knoten, dann Elemente, dann Relationen und innere Links.
  4. Probelauf, dann eine Kopie, dann live. Halten Sie die Quelldateien außerhalb des Web-Roots (var/tmp/ ist auf einem Entwicklungsrechner in Ordnung).
  5. Danach: Bauen Sie den Suchindex neu auf (php bin/php/updatesearchindex.php --clean), prüfen Sie die URL-Aliase, leeren Sie die Inhalts-Caches (Suche, URL-Aliase und Routing).
  6. Keine personenbezogenen Daten, die Sie nicht brauchen. Importieren Sie Benutzerkonten nur mit Rechtsgrundlage, und testen Sie mit Adressen unter example.invalid.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x