"Module kann nicht aktiviert werden" in Oxid eShop beheben — Modulkonfiguration zurücksetzen und Fehler aufspüren


Wer Module für den Oxid eShop entwickelt und dabei laufend Informationen zur metadata.php hinzufügt, verändert und möglicherweise auch Speicherort oder ID des Moduls verändert, kann unter Umständen die Meldung „Module kann nicht aktiviert werden“ erhalten. Abhilfe schafft hier entweder die aufwendige Neuregistrierung des Moduls unter einer neuen ID oder das Zurücksetzen der Modulkonfiguration im Shop-System.

Da hierfür ab Werk kein Hilfsmittel bereitsteht, muss man selber in die Datenbank greifen. In einem Verwaltungswerkzeug wie phpMyAdmin oder auf der Konsole können Sie einmal alle Zeilen der Tabelle oxconfig ausgeben lassen, die das Wort „module“ enthalten. Darin sind nämlich die Konfigurationseinstellungen für die Shop-Erweiterungen gespeichert.


select oxvarname
from oxconfig
where OXVARNAME like ‚%module%‘

Die Ausgabe müsste so aussehen (hier eine Oxid CE 4.7.2):

image

Die Zeilen mit sUtilModule und aModuleEvents sind an dieser Stelle nicht relevant. Falls Sie eine ältere Version des Oxid eShops einsetzen, kann es sein, dass Zeilen gar nicht vorhanden sind – nehmen Sie diese von der Löschung einfach aus. Legen Sie eine Kopie der Tabelle oxconfig an, bevor Sie fortfahren!

Um die komplette Konfiguration zu löschen, können Sie den folgenden Befehl ausführen:

delete from oxconfig where oxvarname in (
„aDisabledModules“,
„aLegacyModules“,
„aModuleFiles“,
„aModulePaths“,
„aModules“,
„aModuleTemplates“
);

Sie können diesen Befehl in Ihrem Verwaltungswerkzeug oder auch im Shop-Admin unter “Service”—>”Tools” ausführen. Erstere Option ist vor allem dann praktisch, wenn der Shop wegen eines defekten Moduls gar nicht mehr funktioniert.


Gehen Sie nun im Oxid-Admin zu “Erweiterungen”—>”Module” und aktivieren Sie nacheinander die Module, die benötigt werden.

Fehler in der Modulkonfiguration (metadata.php) finden

Bei der Fehlersuche ist das Oxid-Modul Module Internals von Alfonsas Cirtautas sehr hilfreich. Es erweitert die Modulverwaltung im zusätzliche Registerkarte, worüber die Angaben in der metadata.php ausgewertet werden können.

image

Befinden sich in der metadata.php angegebene Dateien nicht am erwarteten Platz, so wird das farblich angezeigt. Nach der Behebung des Problems (Abändern der Datei oder Korrektur der Pfade) wird die Korrektur mit Klick auf die Schaltfläche „Fix“ angewandt. Wenn jetzt alles stimmt, werden die Pfade in grüner Farbe angezeigt und das Modul sollte funktionieren.

 


2 Gedanken zu „"Module kann nicht aktiviert werden" in Oxid eShop beheben — Modulkonfiguration zurücksetzen und Fehler aufspüren

  1. Pingback: “Entwicklungshelfer” für Oxid-Entwickler (Developer’s Guide) | Ackis Oxid-Blog

  2. Super Lösung,

    vielen Dank für den Beitrag. Nach viel Suchen war dies die erste ordentliche Lösung des Problems. Wichtig ist noch zu erwähnen:
    1. Das alle Einstellungen von allen installierten Modulen verlohren gehen und somit vorher z.B. per Screenshot gesichert werden sollten
    2. Bei uns nachfolgender SQL zum Löschen genommen werden musste

    delete from oxconfig where oxvarname in (
    „aModulesHistory“,
    „aModuleVersions“,
    „sUtilModule“,
    „aDisabledModules“,
    „aLegacyModules“,
    „aModuleFiles“,
    „aModulePaths“,
    „aModules“,
    „aModuleTemplates“);

    Weiterhin viel Erfolg

    Manuel

Kommentare sind geschlossen.