Installation für Agenturen
Diese Anleitung richtet sich ausschließlich an Agenturen und technische Shop-Administratoren mit Datei-, Composer-, Konsolen- und Datenbankzugriff. Einstellungen und tägliche Abläufe für Shop-Betreiber sind unter Bedienung für Shop-Betreiber beschrieben.
Paket passend zur OXID-Hauptversion wählen
Verwenden Sie ausschließlich das zur Shop-Hauptversion gehörende Paket:
Shop |
Ausgabe |
Ziel |
|---|---|---|
OXID eShop 7 ab 7.1 |
Twig |
|
OXID eShop 6 ab 6.1 |
Smarty |
|
Warnung
Die OXID-6- und OXID-7-Pakete sind nicht austauschbar. BackendOrder
legt Bestellungen an und verändert Bestell-, Artikel- und Kundendaten
direkt. Sichern Sie vor Installation und Update mindestens die
Projekt-composer.json, die Shopdatenbank, die OXID-Konfiguration und
den vorhandenen Modulordner. Die vom Modul angelegten Felder enthalten
Kunden- und Bestelldaten und müssen in das Datenschutz- und
Sicherungskonzept einbezogen werden.
Voraussetzungen
Prüfen Sie vor der Installation:
Das OXID-7-Paket verlangt PHP ab Version 8.0 und
oxid-esales/oxideshop-ce:^7.1; maßgeblich bleiben die höheren Anforderungen der eingesetzten OXID-Version.Ein vollständiges Datenbankbackup und ein Wiederherstellungsweg wurden geprüft.
Optional: Für die Frontend-Anmeldung als Kunde kann zusätzlich das eComStyle-Modul Admin2User (
ecs_admin2user) installiert werden; ohne dieses Modul fehlt lediglich die Login-Schaltfläche.Optional: Für die Adress-Autovervollständigung in der Kundenverwaltung wird ein Google-Places-API-Schlüssel benötigt. Ohne Schlüssel bleibt das Feld ohne Funktion; die übrige Bedienung ist davon unabhängig.
Der Webserver-PHP-Prozess benötigt Schreibrechte auf das Compile-Verzeichnis.
OXID 7 installieren
1. Moduldateien kopieren
Kopieren Sie das vollständige Twig-Paket nach:
vendor/ecs/backendorder
Prüfen Sie danach insbesondere metadata.php, composer.json,
services.yaml, assets, menu.xml, src, translations und
views des ausgelieferten OXID-7-Pakets.
2. Namespace in der Projekt-composer.json registrieren
Ergänzen Sie in der composer.json des Shop-Hauptverzeichnisses unter
autoload / psr-4:
"Ecs\\BackendOrder\\": "vendor/ecs/backendorder/src/"
Vollständiges Beispiel mit einem vorhandenen Namespace:
{
"autoload": {
"psr-4": {
"Vorhandener\\Namespace\\": "vendor/vorhandener/anbieter/modul/src/",
"Ecs\\BackendOrder\\": "vendor/ecs/backendorder/src/"
}
}
}
Der Eintrag gehört in die Projekt-composer.json, nicht in die Datei des
Moduls. Vorhandene Namespaces bleiben erhalten. Ein zusätzlicher Eintrag
unter require für das Modul selbst ist bei dieser manuellen Installation
nicht notwendig.
3. Autoloader und Modul installieren
Führen Sie im Shop-Hauptverzeichnis aus:
composer dump-autoload
vendor/bin/oe-console oe:module:install vendor/ecs/backendorder
vendor/bin/oe-console oe:module:activate ecs_backendorder
vendor/bin/oe-console oe:cache:clear
Alternativ kann die Aktivierung nach oe:module:install im Admin unter
erfolgen.
4. OXID-7-Installation kontrollieren
Prüfen Sie mindestens:
Das Modul ist im Admin sichtbar und aktiv; die Moduleinstellungen sind vorhanden.
In der Bestellverwaltung erscheint der Tab BackendOrder; die Bestellübersicht zeigt die Such- und Anlagefelder des Moduls.
In der Kundenverwaltung erscheint die Schaltfläche für eine neue Bestellung samt Sprach-, Währungs- und Brutto/Netto-Auswahl sowie das Feld für die Rechnungs-E-Mail-Adresse.
Die Modulfelder in
oxorderarticles,oxuserundoxordersind vorhanden und die OXID-Views wurden aktualisiert.Eine Testbestellung lässt sich anlegen, mit einem Artikel bestücken und neu berechnen; der Shopcache wurde geleert.
OXID 6 installieren
1. Moduldateien kopieren
Kopieren Sie das vollständige Smarty-Paket nach:
source/modules/ecs/BackendOrder
Beachten Sie die Groß- und Kleinschreibung von BackendOrder. Prüfen Sie
mindestens metadata.php, composer.json, Controller, Core,
Model, translations, views und die Template-Verzeichnisse.
2. Namespace in der Projekt-composer.json registrieren
Ergänzen Sie in der composer.json des Shop-Hauptverzeichnisses unter
autoload / psr-4:
"Ecs\\BackendOrder\\": "./source/modules/ecs/BackendOrder/"
Vollständiges Beispiel:
{
"autoload": {
"psr-4": {
"Vorhandener\\Namespace\\": "./source/modules/vorhandenes/modul/",
"Ecs\\BackendOrder\\": "./source/modules/ecs/BackendOrder/"
}
}
}
Alle vorhandenen Namespaces bleiben erhalten. Ein zusätzlicher Eintrag unter
require ist für die manuelle Installation nicht notwendig.
3. Autoloader und Modulkonfiguration installieren
Führen Sie im Shop-Hauptverzeichnis aus:
composer dump-autoload
vendor/bin/oe-console oe:module:install-configuration source/modules/ecs/BackendOrder
vendor/bin/oe-console oe:module:activate ecs_backendorder
Leeren Sie anschließend die temporären Shopdateien beziehungsweise den OXID-Cache mit dem in der jeweiligen OXID-6-Umgebung vorgesehenen Verfahren.
4. OXID-6-Installation kontrollieren
Prüfen Sie mindestens:
Modul und Moduleinstellungen sind im Admin sichtbar.
Die Modulfelder wurden angelegt und die OXID-Views aktualisiert.
Tab BackendOrder, die Anlagefelder in der Bestellübersicht und die Erweiterungen in der Kundenverwaltung sind vorhanden.
Eine Testbestellung lässt sich ohne Smarty-Fehler anlegen und neu berechnen; die temporären Shopdateien wurden geleert.
Bemerkung
OXID 6 bietet in den Moduleinstellungen zusätzlich die Auswahl des E-Mail-Designs (Flow oder Azure) sowie optional Artikel-Icons in den Mails. Diese Optionen entfallen im OXID-7-Paket; die Bedienung ist sonst gleich.
Datenbankänderung und Aktivierungsereignisse
Bei der Aktivierung legt das Modul fehlende Felder an:
ALTER TABLE oxorderarticles ADD ECSISFREE tinyint(1) NOT NULL DEFAULT '0';
ALTER TABLE oxorderarticles ADD ECSPOS int(11) NOT NULL DEFAULT '0';
ALTER TABLE oxorderarticles ADD ECSBPRICE double NOT NULL DEFAULT '0';
ALTER TABLE oxuser ADD ECSBILLEMAIL varchar(255) NOT NULL;
ALTER TABLE oxorder ADD ECSBILLEMAIL varchar(255) NOT NULL;
ALTER TABLE oxorder ADD ECSEBOCONFIG text NOT NULL;
Außerdem legt das Modul einen technischen Artikeldatensatz mit der ID
ebo_123456789123456789 an, der als Vorlage für freie Artikelpositionen
dient, und entfernt ihn bei der Deaktivierung wieder. Danach leert es das
Compile-Verzeichnis und regeneriert die Datenbank-Views. Bereits vorhandene
Felder bleiben erhalten. Kontrollieren Sie die Struktur ausdrücklich:
SHOW COLUMNS FROM oxorderarticles LIKE 'ECS%';
SHOW COLUMNS FROM oxorder LIKE 'ECS%';
SHOW COLUMNS FROM oxuser LIKE 'ECS%';
Gespeicherte Daten
oxorderarticles.ECSISFREE: kennzeichnet freie Artikelpositionen ohne Shop-Artikelstamm.oxorderarticles.ECSPOS: Positionsnummer für die Sortierung der Bestellpositionen.oxorderarticles.ECSBPRICE: Einkaufspreis der Position für die Margenanzeige.oxuser.ECSBILLEMAILundoxorder.ECSBILLEMAIL: abweichende Rechnungs-E-Mail-Adresse beim Kunden beziehungsweise an der Bestellung.oxorder.ECSEBOCONFIG: modulinterne Konfiguration der einzelnen Backend-Bestellung, zum Beispiel Sprache, Währung und Brutto/Netto-Modus.
Modul aktualisieren
OXID 7 aktualisieren
Deaktivieren Sie das Modul für den Dateiaustausch. Ersetzen Sie den
vollständigen Ordner vendor/ecs/backendorder durch das aktuelle
OXID-7-/Twig-Paket. Führen Sie danach aus:
composer dump-autoload
vendor/bin/oe-console oe:module:install vendor/ecs/backendorder
vendor/bin/oe-console oe:module:activate ecs_backendorder
vendor/bin/oe-console oe:cache:clear
OXID 6 aktualisieren
Deaktivieren Sie das Modul und ersetzen Sie
source/modules/ecs/BackendOrder vollständig durch das aktuelle
OXID-6-/Smarty-Paket. Führen Sie danach aus:
composer dump-autoload
vendor/bin/oe-console oe:module:install-configuration source/modules/ecs/BackendOrder
vendor/bin/oe-console oe:module:activate ecs_backendorder
Leeren Sie anschließend die temporären Shopdateien.
Nach jedem Update
Kontrollieren Sie die sechs Modulfelder und die OXID-Views.
Prüfen Sie die Moduleinstellungen; neue Paketvorgaben setzen vorhandene Betreiberwerte nicht automatisch zurück.
Testen Sie Anlage, Positionsbearbeitung, Neuberechnung und den Bestellbestätigungs-Versand mit einer Testbestellung.
Prüfen Sie das Verhalten freier Artikelpositionen sowie – falls genutzt – den Frontend-Login über Admin2User und die Adress-Autovervollständigung.
Datenaufbewahrung bei Deaktivierung
Eine normale Deaktivierung bewahrt die Modulfelder und sämtliche erfassten Bestell- und Kundendaten auf. Mit dem Modul angelegte Bestellungen bleiben vollständig erhalten und lassen sich weiter im Admin bearbeiten. Lediglich der technische Hilfsartikel für freie Positionen wird bei der Deaktivierung entfernt; bereits vorhandene freie Positionen in Bestellungen bleiben davon unberührt. Es gibt keine automatische Bereinigung; eine endgültige Entfernung der Felder erfolgt nur manuell nach Backup und fachlicher Freigabe.