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

FacetFilter wird vorerst ausschließlich als Twig-Paket für OXID eShop 7 ab Version 7.1 ausgeliefert.

Paketauswahl

Shop

Ausgabe

Ziel

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:

  • Ein aktives Twig-Storefront-Theme für OXID 7, üblicherweise Apex.

  • PHP entsprechend der eingesetzten OXID-Version. Das Paket verlangt mindestens PHP 8.1; OXID 7.5 benötigt beispielsweise PHP 8.3.

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

Installation

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.

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.

Modul 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

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.

Technische Abnahme

  1. Öffnen Sie eine Kategorie mit Attributen und eine ohne Attribute.

  2. Prüfen Sie Mehrfachauswahl, Preis-Slider, Hersteller und Verfügbarkeit.

  3. Prüfen Sie Zähler, einzelne Chips und Alle Filter zurücksetzen.

  4. Wechseln Sie Sortierung, Artikel pro Seite und Seitenblätterung bei aktivem Filter.

  5. Prüfen Sie Desktop-Sidebar und Mobil-Drawer.

  6. Rufen Sie eine gefilterte URL in einem neuen Browserfenster auf.

  7. Kontrollieren Sie, dass Suchergebnisse und Herstellerlisten unverändert bleiben.

Technische Fehlerbehebung

Apex-Dropdown ist noch sichtbar

Leeren Sie den Template-Cache und prüfen Sie, ob das Modul-Override für widget/locator/attributes geladen wird. Ein Child-Theme mit eigener Kopie dieses Templates kann das Override verhindern.

Ajax lädt die ganze Seite neu

Das ist der vorgesehene Fallback, wenn JavaScript fehlschlägt. Prüfen Sie die Browserkonsole und ob assets/js/facetfilter.js ausgeliefert wird.

Übergabe an den Shop-Betreiber

Übergeben Sie mindestens:

  • die eingeschalteten Filtergruppen,

  • die gewünschten Preisstufen,

  • den Hinweis, dass Attribute weiterhin im OXID-Admin gepflegt werden,

  • den Link zur Bedienung für Shop-Betreiber.