Installation für Agenturen

Diese Anleitung richtet sich ausschließlich an Agenturen und technische Shop-Administratoren mit Datei-, Composer- und Konsolenzugriff. 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/article2pdf

OXID eShop 6 ab 6.1

Smarty

source/modules/ecs/Article2Pdf

Warnung

Die OXID-6- und OXID-7-Pakete sind nicht austauschbar. Sichern Sie vor Installation und Update mindestens die Projekt-composer.json, die Shopdatenbank, die OXID-Konfiguration und den vorhandenen Modulordner.

Voraussetzungen

Prüfen Sie vor der Installation:

  • Das OXID-7-Paket verlangt PHP ab Version 8.0; maßgeblich bleiben die höheren Anforderungen der eingesetzten OXID-Version.

  • Article2Pdf benötigt die PDF-Bibliothek dompdf. OXID 7: dompdf/dompdf:^3.1, OXID 6: dompdf/dompdf:^2.0. Ist dompdf bereits durch eine andere Erweiterung installiert, entfällt dieser Schritt.

  • Ein vollständiges Datenbankbackup und ein Wiederherstellungsweg wurden geprüft.

  • Der Webserver-PHP-Prozess benötigt Schreibrechte auf das Compile-Verzeichnis.

  • Sollen PDFs serverseitig abgelegt werden, muss der Zielordner (vorgegeben out/media) existieren und beschreibbar sein.

OXID 7 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Twig-Paket nach:

vendor/ecs/article2pdf

Prüfen Sie danach insbesondere metadata.php, composer.json, services.yaml, assets, 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\\Article2Pdf\\": "vendor/ecs/article2pdf/src/"

Vollständiges Beispiel mit einem vorhandenen Namespace:

{
    "autoload": {
        "psr-4": {
            "Vorhandener\\Namespace\\": "vendor/vorhandener/anbieter/modul/src/",
            "Ecs\\Article2Pdf\\": "vendor/ecs/article2pdf/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. dompdf installieren

Installieren Sie im Shop-Hauptverzeichnis die PDF-Bibliothek, sofern sie nicht bereits vorhanden ist:

composer require dompdf/dompdf:^3.1

4. Autoloader und Modul installieren

Führen Sie im Shop-Hauptverzeichnis aus:

composer dump-autoload
vendor/bin/oe-console oe:module:install vendor/ecs/article2pdf
vendor/bin/oe-console oe:module:activate ecs_article2pdf
vendor/bin/oe-console oe:cache:clear

Alternativ kann die Aktivierung nach oe:module:install im Admin unter Erweiterungen ‣ Module erfolgen.

5. OXID-7-Installation kontrollieren

Prüfen Sie mindestens:

  • Das Modul ist im Admin sichtbar und aktiv; die Moduleinstellungen zeigen die Gruppen „Grundeinstellungen“, „Abspeichern“ und „Bilder“.

  • Auf einer Artikel-Detailseite erscheint der Button „PDF Datenblatt“ und erzeugt ein PDF.

  • Am Artikel- und CMS-Datensatz im Admin erscheint der Link „PDF ablegen“.

  • Der Shopcache wurde geleert.

OXID 6 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Smarty-Paket nach:

source/modules/ecs/Article2Pdf

Prüfen Sie mindestens metadata.php, composer.json, Controller, Core, views und out. Die Klassen des Smarty-Pakets liegen direkt im Modulordner, nicht in einem src-Unterverzeichnis.

2. Namespace in der Projekt-composer.json registrieren

Ergänzen Sie in der composer.json des Shop-Hauptverzeichnisses unter autoload / psr-4:

"Ecs\\Article2Pdf\\": "./source/modules/ecs/Article2Pdf/"

Vollständiges Beispiel:

{
    "autoload": {
        "psr-4": {
            "Vorhandener\\Namespace\\": "./source/modules/vorhandenes/modul/",
            "Ecs\\Article2Pdf\\": "./source/modules/ecs/Article2Pdf/"
        }
    }
}

Alle vorhandenen Namespaces bleiben erhalten. Ein zusätzlicher Eintrag unter require ist für die manuelle Installation nicht notwendig.

3. dompdf installieren

Installieren Sie im Shop-Hauptverzeichnis die PDF-Bibliothek, sofern sie nicht bereits vorhanden ist:

composer require dompdf/dompdf:^2.0

4. 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/Article2Pdf
vendor/bin/oe-console oe:module:activate ecs_article2pdf

Leeren Sie anschließend die temporären Shopdateien beziehungsweise den OXID-Cache mit dem in der jeweiligen OXID-6-Umgebung vorgesehenen Verfahren.

5. OXID-6-Installation kontrollieren

Prüfen Sie mindestens:

  • Modul und Moduleinstellungen sind im Admin sichtbar.

  • Der PDF-Button erscheint auf einer Artikel-Detailseite und erzeugt ein PDF ohne Smarty-Fehler.

  • Die OXID-Views wurden aktualisiert und die temporären Shopdateien geleert.

Datenbankänderung und Aktivierungsereignisse

Das Modul legt keine eigenen Datenbanktabellen oder -felder an. Bei der Aktivierung leert es das Compile-Verzeichnis und regeneriert die Datenbank-Views. Bei der Deaktivierung entfernt das Modul seine Template-Block-Einträge aus oxtplblocks, leert den Cache und regeneriert die Views erneut:

DELETE FROM oxtplblocks WHERE OXMODULE = 'ecs_article2pdf';

Modul aktualisieren

OXID 7 aktualisieren

Deaktivieren Sie das Modul für den Dateiaustausch. Ersetzen Sie den vollständigen Ordner vendor/ecs/article2pdf durch das aktuelle OXID-7-/Twig-Paket. Führen Sie danach aus:

composer dump-autoload
vendor/bin/oe-console oe:module:install vendor/ecs/article2pdf
vendor/bin/oe-console oe:module:activate ecs_article2pdf
vendor/bin/oe-console oe:cache:clear

OXID 6 aktualisieren

Deaktivieren Sie das Modul und ersetzen Sie source/modules/ecs/Article2Pdf 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/Article2Pdf
vendor/bin/oe-console oe:module:activate ecs_article2pdf

Leeren Sie anschließend die temporären Shopdateien.

Nach jedem Update

  • Prüfen Sie die Moduleinstellungen; neue Paketvorgaben setzen vorhandene Betreiberwerte nicht automatisch zurück.

  • Erzeugen Sie ein Test-PDF über den Shop-Button und über „PDF ablegen“ im Admin.

  • Prüfen Sie, dass der Ablageordner weiterhin beschreibbar ist.

Datenaufbewahrung bei Deaktivierung

Eine Deaktivierung entfernt den PDF-Button aus dem Shop und den Ablege-Link aus dem Admin. Bereits im Ablageordner gespeicherte PDF-Dateien bleiben erhalten und können manuell entfernt werden. Die Moduleinstellungen bleiben in der Shop-Konfiguration gespeichert und greifen bei einer erneuten Aktivierung wieder.