Installation für Agenturen

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

OXID eShop 6 ab 6.1

Smarty

source/modules/ecs/SuchVorschlag

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 Compile-Verzeichnis.

  • Das Modul bindet sich über einen Template-Block in das Standard-Theme (OXID 7: Twig, OXID 6: Smarty/Flow beziehungsweise Wave) ein. Stark angepasste oder eigene Themes benötigen eine individuelle Einbindung des Blocks beziehungsweise der Ajax-URL index.php?cl=suggest.

OXID 7 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Twig-Paket nach:

vendor/ecs/suchvorschlag

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

Vollständiges Beispiel mit einem vorhandenen Namespace:

{
    "autoload": {
        "psr-4": {
            "Vorhandener\\Namespace\\": "vendor/vorhandener/anbieter/modul/src/",
            "Ecs\\SuchVorschlag\\": "vendor/ecs/suchvorschlag/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/suchvorschlag
vendor/bin/oe-console oe:module:activate ecs_suchvorschlag
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 zeigen die Block-Gruppe „Grundeinstellungen“ mit den Schaltern für die Ergebnisgruppen.

  • Im Shop-Frontend öffnet sich beim Tippen im Suchfeld ab der eingestellten Zeichenzahl das Vorschlagfenster mit Artikeln und den aktivierten Gruppen.

  • Der Ajax-Aufruf index.php?cl=suggest liefert HTML zurück.

  • Der Shopcache wurde geleert.

OXID 6 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Smarty-Paket nach:

source/modules/ecs/SuchVorschlag

Prüfen Sie mindestens metadata.php, composer.json, Controller, Core, translations, 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\\SuchVorschlag\\": "./source/modules/ecs/SuchVorschlag/"

Vollständiges Beispiel:

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

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

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 Themeeinstellung steht auf dem eingesetzten Smarty-Theme (Flow oder Wave).

  • Das Vorschlagfenster erscheint im Frontend ohne Smarty-Fehler.

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

Bemerkung

Die OXID-6-Variante besitzt einen reduzierten Einstellungsumfang: Sie kennt die Themenauswahl (Flow/Wave), aber nicht die Schalter für einzelne Ergebnisgruppen, Hersteller- und Lieferantenvorschläge sowie die Anzeigeoptionen für Schrift, Farbe und Bilder der OXID-7-Version.

Datenbankänderung und Aktivierungsereignisse

Das Modul legt keine eigenen Datenbankfelder oder Tabellen an. Es arbeitet über einen Template-Block im Suchfeld des Themes und einen eigenen Frontend-Controller (suggest), der die Shopdaten liest und HTML zurückliefert. Bei der Aktivierung leert es das Compile-Verzeichnis; bei der Deaktivierung entfernt es die registrierten Template-Blöcke des Moduls aus oxtplblocks und leert das Compile-Verzeichnis erneut:

DELETE FROM oxtplblocks WHERE OXMODULE = 'ecs_suchvorschlag';

Modul aktualisieren

OXID 7 aktualisieren

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

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

OXID 6 aktualisieren

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

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.

  • Testen Sie das Vorschlagfenster im Frontend mit mehreren Begriffen und in den aktivierten Gruppen.

  • Prüfen Sie bei eigenen Themes, ob der eingebundene Template-Block und die Ajax-URL unverändert greifen.

Datenaufbewahrung bei Deaktivierung

Eine normale Deaktivierung stellt das Standard-Suchfeld des Themes wieder her. Das Modul speichert keine eigenen Datensätze und hinterlässt keine Daten im Shop; die Moduleinstellungen bleiben in der OXID-Konfiguration erhalten und werden bei einer erneuten Aktivierung wieder verwendet. Es gibt keine automatische Bereinigung der Moduleinstellungen.