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:

Paketauswahl

Shop

Ausgabe

Ziel

OXID eShop 7 ab 7.1

Twig

vendor/ecs/backendorder

OXID eShop 6 ab 6.1

Smarty

source/modules/ecs/BackendOrder

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 Erweiterungen ‣ Module 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, oxuser und oxorder sind 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.ECSBILLEMAIL und oxorder.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.