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.
Shop |
Ausgabe |
Ziel |
|---|---|---|
OXID eShop 6 ab 6.1 |
Smarty / Wave |
|
OXID eShop 7 ab 7.1 |
Twig |
|
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
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 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
outsind 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.