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:
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. 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
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.