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/simplesitemap

OXID eShop 6 ab 6.1

Smarty

source/modules/ecs/SimpleSitemap

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.

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

  • Der Webserver-PHP-Prozess benötigt Schreibrechte auf das Shop-Hauptverzeichnis (source) beziehungsweise den gewählten Zielordner, damit die XML-Dateien abgelegt werden können.

  • Für die automatische Generierung ist ein Cronjob beziehungsweise ein planbarer HTTP-Aufruf erforderlich.

OXID 7 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Twig-Paket nach:

vendor/ecs/simplesitemap

Prüfen Sie danach insbesondere metadata.php, composer.json, menu.xml, assets, src, views und das Skript sitemap-refresh.php 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\\SimpleSitemap\\": "vendor/ecs/simplesitemap/src/"

Vollständiges Beispiel mit einem vorhandenen Namespace:

{
    "autoload": {
        "psr-4": {
            "Vorhandener\\Namespace\\": "vendor/vorhandener/anbieter/modul/src/",
            "Ecs\\SimpleSitemap\\": "vendor/ecs/simplesitemap/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 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/simplesitemap
vendor/bin/oe-console oe:module:activate ecs_simplesitemap
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.

  • In der linken Navigation erscheint im eComStyle-Menü der Eintrag „SimpleSitemap“ mit der Modulseite.

  • Eine manuelle Generierung erzeugt die sitemap.xml und die Sprach-Sitemaps im gewählten Zielordner.

  • Der Shopcache wurde geleert.

OXID 6 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Smarty-Paket nach:

source/modules/ecs/SimpleSitemap

Prüfen Sie mindestens metadata.php, composer.json, menu.xml, Controller, Service, views und sitemap-refresh.php. 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\\SimpleSitemap\\": "./source/modules/ecs/SimpleSitemap/"

Vollständiges Beispiel:

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

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/SimpleSitemap
vendor/bin/oe-console oe:module:activate ecs_simplesitemap

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 der Menüeintrag „SimpleSitemap“ sind im Admin sichtbar.

  • Eine manuelle Generierung erzeugt die Sitemap-Dateien.

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

Cronjob einrichten

Für die automatische Generierung richten Sie einen Cronjob ein, der die im Modul angezeigte Cronjob-URL aufruft, zum Beispiel nächtlich:

0 3 * * * curl -fsS "https://<shop-url>/<cronjob-pfad>" >/dev/null

Die vollständige URL inklusive des Schlüssels wird auf der Modulseite im Admin unter „Cronjob-URL“ angezeigt, sobald ein Cronjob-Schlüssel hinterlegt ist. Ohne Schlüssel ist der Aufruf deaktiviert.

Achtung

Der Cronjob-Schlüssel ist ein Zugangsgeheimnis. Verwenden Sie einen langen, zufälligen Schlüssel und geben Sie die vollständige URL nicht öffentlich weiter.

Datenbankänderung und Aktivierungsereignisse

Das Modul legt keine eigenen Datenbanktabellen oder -felder an. Die Einstellungen werden als Shop-Konfigurationswerte gespeichert. Eine gleichzeitige Generierung wird über eine Sperrdatei verhindert, sodass Cronjob und manueller Aufruf nicht kollidieren.

Modul aktualisieren

OXID 7 aktualisieren

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

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

OXID 6 aktualisieren

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

Leeren Sie anschließend die temporären Shopdateien.

Nach jedem Update

  • Prüfen Sie die Einstellungen auf der Modulseite (Pfad, Sprachen, Ausschlüsse, Cronjob-Schlüssel).

  • Führen Sie eine manuelle Generierung durch und kontrollieren Sie die erzeugten Dateien.

  • Prüfen Sie, dass die Cronjob-URL weiterhin erreichbar ist.

Datenaufbewahrung bei Deaktivierung

Eine Deaktivierung entfernt den Menüeintrag und deaktiviert den Cronjob-Aufruf. Bereits erzeugte Sitemap-Dateien im Shop-Verzeichnis bleiben erhalten und können manuell gelöscht werden. Die Modul-Einstellungen bleiben in der Shop-Konfiguration gespeichert und greifen bei einer erneuten Aktivierung wieder.