Installation für Agenturen

Diese Anleitung richtet sich ausschließlich an Agenturen und technische Shop-Administratoren mit Datei-, Composer- und Konsolenzugriff. Die tägliche Konfiguration im OXID-Admin ist unter Bedienung für Shop-Betreiber beschrieben.

Paket

Verwenden Sie das zu Ihrer OXID-Hauptversion passende Paket. OXID 6 wird ab Version 6.1 und in allen folgenden OXID-6-Versionen unterstützt, OXID 7 ab Version 7.1 und in allen folgenden OXID-7-Versionen. Die Smarty- und Twig-Pakete sind nicht austauschbar.

Paketauswahl

Shop

Ausgabe

Ziel

OXID eShop 6 ab 6.1

Smarty / Wave

source/modules/ecs/FacetFilter

OXID eShop 7 ab 7.1

Twig

vendor/ecs/facetfilter

Warnung

Sichern Sie vor Installation und Update mindestens die Projekt-composer.json, die OXID-Konfiguration und den vorhandenen Modulordner.

Voraussetzungen

Prüfen Sie vor dem Kopieren des Moduls:

  • OXID 6: ein aktives Smarty-Storefront-Theme auf Basis von Wave, auch ein davon abgeleitetes Child-Theme.

  • OXID 7: ein aktives Twig-Storefront-Theme, üblicherweise Apex.

  • PHP entsprechend der eingesetzten OXID-Version. Das Smarty-Paket verlangt mindestens PHP 7.4, das Twig-Paket mindestens PHP 8.1.

  • Kategorielisten mit Artikeln. Preis, Hersteller, Varianten und Verfügbarkeit benötigen keine Dummy-Attribute.

  • Attributfilter erscheinen nur, wenn Attribute der jeweiligen Kategorie zugeordnet sind.

Achtung

FacetFilter verändert keine Artikel-, Attribut- oder Preisdaten. Es liest vorhandene Shopdaten und speichert gewählte Filter nur in der Sitzung sowie in der Listen-URL.

OXID 7 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Twig-Paket nach:

vendor/ecs/facetfilter

Prüfen Sie danach insbesondere metadata.php, composer.json, services.yaml, assets, src, translations und views.

2. Namespace in der Projekt-composer.json registrieren

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

"Ecs\\FacetFilter\\": "vendor/ecs/facetfilter/src/"

Vollständiges Beispiel mit einem vorhandenen Namespace:

{
    "autoload": {
        "psr-4": {
            "Vorhandener\\Namespace\\": "vendor/vorhandener/anbieter/modul/src/",
            "Ecs\\FacetFilter\\": "vendor/ecs/facetfilter/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/facetfilter
vendor/bin/oe-console oe:module:activate ecs_facetfilter
vendor/bin/oe-console oe:cache:clear

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

4. Installation kontrollieren

Prüfen Sie mindestens:

  • Das Modul ist sichtbar und aktiv; alle Einstellungsgruppen sind vorhanden.

  • Der Apex-Dropdown-Attributfilter auf der Kategorieliste ist verschwunden.

  • Desktop zeigt die Filter-Sidebar links neben der Artikelliste.

  • Mobil öffnet der Button Filter denselben Filter in einem Drawer.

  • Eine Kategorie ohne Attribute zeigt trotzdem Preis, Lager und vorhandene Hersteller- oder Variantenwerte.

  • Eine Kategorie mit zugeordneten Attributen zeigt zusätzlich diese Facetten.

  • Ajax-Klicks aktualisieren Liste und Zähler; ein harter Reload der URL liefert dasselbe Ergebnis.

  • Der Shopcache wurde geleert.

OXID 6 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Smarty-Paket nach:

source/modules/ecs/FacetFilter

Übernehmen Sie die Groß- und Kleinschreibung exakt. Prüfen Sie insbesondere metadata.php, composer.json, src, out, translations und views. Die Smarty-Templates liegen unter views/tpl, die Theme-Erweiterungen unter views/blocks und die Assets unter out.

2. Namespace in der Projekt-composer.json registrieren

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

"Ecs\\FacetFilter\\": "./source/modules/ecs/FacetFilter/src/"

Vollständiges Beispiel mit einem vorhandenen Namespace:

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

Die Klassen liegen bei diesem Paket im Unterverzeichnis src. Der Eintrag gehört in die Projekt-composer.json, nicht in die Datei des Moduls. Vorhandene Namespaces bleiben erhalten; achten Sie auf das Komma zwischen den Einträgen. Ein zusätzlicher Eintrag unter require ist 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/FacetFilter
vendor/bin/oe-console oe:module:activate ecs_facetfilter
vendor/bin/oe-console oe:cache:clear

Alternativ kann die Aktivierung nach oe:module:install-configuration im Admin unter Erweiterungen ‣ Module erfolgen. Falls Ihre OXID-6-Umgebung den Befehl oe:cache:clear nicht bereitstellt, leeren Sie die temporären Shopdateien mit dem für diese Umgebung vorgesehenen Verfahren.

4. Installation kontrollieren

Prüfen Sie mindestens:

  • Das Modul ist im Admin sichtbar und aktiv; alle Einstellungsgruppen sind vorhanden.

  • Smarty-Storefront und Admin öffnen ohne Templatefehler.

  • Der einfache Wave-Dropdown-Attributfilter ist durch die Sidebar ersetzt.

  • Mobil öffnet Filter die Filterauswahl.

  • CSS und JavaScript aus dem Modulordner out sind erreichbar.

  • Kategorien mit und ohne Attribute zeigen die jeweils verfügbaren Gruppen.

  • Ajax, Sortierung, Blättern und ein harter Reload erhalten die Filterauswahl.

  • Filtern und Zurücksetzen funktionieren auch für nicht angemeldete Besucher.

  • Der Shopcache wurde geleert. Neue Datenbankfelder, Tabellen oder Views sind bei diesem Modul nicht zu erwarten.

Bemerkung

OXID 6 startet bei den Filterparametern ff und ffreset auch für anonyme Besucher eine Sitzung. Der Filterstand wird pro Kategorie gespeichert und bleibt dadurch beim Blättern erhalten.

Datenbankänderung und Aktivierungsereignisse

FacetFilter legt keine Tabellen oder Felder an. Bei Aktivierung und Deaktivierung leert es nur das konfigurierte OXID-Compile-Verzeichnis. Die OXID-Views bleiben unverändert.

Gewählte Filter liegen in der Sitzung unter ecs_facetfilter und zusätzlich in der Listen-URL. Eine Deaktivierung löscht weder Artikel- noch Attributdaten.

OXID 7 aktualisieren

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

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

OXID 6 aktualisieren

Deaktivieren Sie das Modul für den Dateiaustausch. Ersetzen Sie den vollständigen Ordner source/modules/ecs/FacetFilter durch das aktuelle Smarty-Paket für OXID 6. Führen Sie danach im Shop-Hauptverzeichnis aus:

composer dump-autoload
vendor/bin/oe-console oe:module:install-configuration source/modules/ecs/FacetFilter
vendor/bin/oe-console oe:module:activate ecs_facetfilter
vendor/bin/oe-console oe:cache:clear

Falls oe:cache:clear nicht verfügbar ist, leeren Sie die temporären Shopdateien mit dem für Ihre OXID-6-Umgebung vorgesehenen Verfahren.

Nach jedem Update

  • Kontrollieren Sie alle Einstellungsgruppen; vorhandene Betreiberwerte werden nicht automatisch überschrieben.

  • Prüfen Sie Sidebar, Mobil-Drawer, Ajax und harten Reload.

  • Testen Sie eine Kategorie mit und eine ohne Attribute.

Datenaufbewahrung bei Deaktivierung

onDeactivate löscht keine Shopdaten. Sitzungswerte entfallen mit dem Ende der jeweiligen Kundensitzung. Moduleinstellungen bleiben in OXID gespeichert, bis sie mit den vorgesehenen Modulwerkzeugen entfernt werden.