Vielleicht kennt ihr das auch: Man kommt so von der Party und denkt sich, ach jetzt vor dem Schlafen gehen noch einmal schauen, wie es so im Admin Bereich meines Shopware 6 Shops aussieht. Du loggst dich mit einem breiten Grinsen ein, rufst den Erweiterungen Bereich auf und siehst nur eine weiße Fläche, wo einst noch zahlreiche Plugins aufgelistet waren.
Wenn du gerade genau an diesem Punkt in deinem Leben bist, dann soll dir hier aufgezeigt werden, wie du sie wieder anzeigen lassen kannst.
- 1. Shopware 6 Plugins über die Datenbank deaktivieren
- 2. Plugin Liste speichern
- 3. Shopware 6 Plugins über die Konsole aktivieren / deaktivieren
- 4. Spurensuche in den Logfiles
- 5. Spurensuche in der Developer Konsole
- 6. opcache mit PHP Datei löschen
- 7. Plugins in phpmyadmin löschen
- 8. Weiterführende Links
1. Shopware 6 Plugins über die Datenbank deaktivieren
Nicht angezeigte Plugins deaktivieren? Ja das geht. Über die Datenbank. Hierzu haben wir einen gesonderten Beitrag veröffentlicht. Den kannst du über folgenden Link aufrufen:
Shopware 6 Plugins über die Datenbank deaktivieren
Diese finden wir übersichtlich wieder in der Tabelle Plugins unserer Shopware 6 Datenbank. Jetzt kann man einfach bei jedem Plugin in der Spalte active überall wo eine 1 ist eine 0 daraus machen. Die 0 steht für neun bzw. inaktiv und die 1 eben für ja oder aktiv.
Hier einmal ein Blick in die Plugins Tabelle bei einer lokalen Entwicklungsumgebung:
Weiter unten und rechts geht es noch weiter, aber hier sehen wir schonmal die wichtigsten Informationen, die wir benötigen. Rechts im Bild sehen wir die oben angesprochene Spalte active und links sehen wir die Spalte Name, in dem der technische Name des Plugins eingetragen ist.
2. Plugin Liste speichern
An dieser Stelle kann ich jedem Admin und / oder Entwickler empfehlen einmal eine Liste anzulegen, in der alle technischen Namen der Plugins aufgeschrieben werden.
• EsmxKTConnector
• FroshDevelopmentHelper
• GreatCatIcons
• GreatCheckoutBooster
• GreatChooseHowManyProducts
• GreatDarmBoutiqueTheme
• GreatDetailPagePlus
• GreatDreamThemeSW6
• GreatFineFoodTheme
• GreatHuwilTheme
• GreatMessageOfTheDay
• GreatOneLineArticleName
• GreatOnlyActiveCategory
• GreatSidebarBooster
• GreatSpritSchleuderTheme
• GreatSuperMegaSliderSW6
• GreatTabChanger
• GreatUSPBar
• MndCookie
• SwagLanguagePack
• TcinnCustomizing
• TcinnThemeWareClean
Das hier sind also die, die ich auf meiner lokalen Entwicklungsumgebung habe. Diese Liste sollten wir einmal mit Leerzeichen speichern:
EsmxKTConnector FroshDevelopmentHelper GreatCatIcons GreatCheckoutBooster GreatChooseHowManyProducts GreatDarmBoutiqueTheme GreatDetailPagePlus GreatDreamThemeSW6 GreatFineFoodTheme GreatHuwilTheme GreatMessageOfTheDay GreatOneLineArticleName GreatOnlyActiveCategory GreatSidebarBooster GreatSpritSchleuderTheme GreatSuperMegaSliderSW6 GreatTabChanger GreatUSPBar MndCookie SwagLanguagePack TcinnCustomizing TcinnThemeWareClean
und dann noch einmal mit Kommas:
EsmxKTConnector, FroshDevelopmentHelper, GreatCatIcons, GreatCheckoutBooster, GreatChooseHowManyProducts, GreatDarmBoutiqueTheme, GreatDetailPagePlus, GreatDreamThemeSW6, GreatFineFoodTheme, GreatHuwilTheme, GreatMessageOfTheDay, GreatOneLineArticleName, GreatOnlyActiveCategory, GreatSidebarBooster, GreatSpritSchleuderTheme, GreatSuperMegaSliderSW6, GreatTabChanger, GreatUSPBar, MndCookie, SwagLanguagePack, TcinnCustomizing, TcinnThemeWareClean
Warum?
In phpmyadmin brauchen wir die Kommaliste, um zum Beispiel alle Plugins auf einmal zu deaktivieren. Die Liste mit den Leerzeichen benötigen wir für später, wenn wir die Konsole verwenden wollen.
3. Shopware 6 Plugins über die Konsole aktivieren / deaktivieren
Mit diesem Befehl hier könnten wir nun in der Konsole alle Plugins auf einmal deaktivieren
php -d memory_limit=1024M bin/console plugin:deactivate EsmxKTConnector, FroshDevelopmentHelper, GreatCatIcons, GreatCheckoutBooster, GreatChooseHowManyProducts, GreatDarmBoutiqueTheme, GreatDetailPagePlus, GreatDreamThemeSW6, GreatFineFoodTheme, GreatHuwilTheme, GreatMessageOfTheDay, GreatOneLineArticleName, GreatOnlyActiveCategory, GreatSidebarBooster, GreatSpritSchleuderTheme, GreatSuperMegaSliderSW6, GreatTabChanger, GreatUSPBar, MndCookie, SwagLanguagePack, TcinnCustomizing, TcinnThemeWareClean
php -d memory_limit=1024M bin/console plugin:refresh EsmxKTConnector, FroshDevelopmentHelper, GreatCatIcons, GreatCheckoutBooster, GreatChooseHowManyProducts, GreatDarmBoutiqueTheme, GreatDetailPagePlus, GreatDreamThemeSW6, GreatFineFoodTheme, GreatHuwilTheme, GreatMessageOfTheDay, GreatOneLineArticleName, GreatOnlyActiveCategory, GreatSidebarBooster, GreatSpritSchleuderTheme, GreatSuperMegaSliderSW6, GreatTabChanger, GreatUSPBar, MndCookie, SwagLanguagePack, TcinnCustomizing, TcinnThemeWareClean
php -d memory_limit=1024M bin/console plugin:uninstall EsmxKTConnector
Anschließend löschen wir den Cache wie folgt:
php bin/console cache:clear
Oder aber so, wenn es nicht klappen will:
php -d memory_limit=1024M bin/console cache:clear
Weitere Konsolen-Befehle die man für Plugins verwenden kann sind:
plugin:activate Activates given plugins
plugin:create Creates a plugin skeleton
plugin:deactivate Deactivates given plugins
plugin:install Installs given plugins
plugin:list Show a list of available plugins.
plugin:refresh Refreshes the plugins list in the storage from the file system
plugin:uninstall Uninstalls given plugins
plugin:update Updates given plugins
plugin:zip-import Import plugin zip file.
Du arbeitest of lokal auf dem Mac aber vergisst immer wieder den Weg in deine Shopware 6 Installation über die Konsole? Dann bist du so wie ich und hast hier den direkten Weg zum richtigen Ordner:
cd ..
cd ..
cd Applications/MAMP/htdocs/sw7-kurs/development/
Du musst natürlich den Namen sw7-kurs anpassen in den Namen deiner lokalen Shopware 6 Installation.
So an diesem Punkt könntest du schon Glück haben und die Plugins sind wieder da, wie das Sonnenlicht am Morgen. Jetzt kannst du sie nach und nach wieder aktivieren und dadurch den Störenfried identifizieren und anschließend zu reparieren, austauschen oder zu eliminieren.
4. Spurensuche in den Logfiles
Grundsätzlich kann man den Grund für beinahe jeden Fehler in seiner Shopware 6 Installation in den Logfiles finden. Ein bisschen Englisch und technisches Verständnis können hier nicht schaden, notfalls fragt man eine KI oder Kollegen. Nicht zu unterschätzen sind die auch Macht des Shopware Forums sowie einiger Facebook-Gruppen.
Lokal findest du deine Logdatei unter:
development/var/log/dev.log
Und ja, die Datei kann je nach Nutzungsdauer deines Systems relativ riesig werden. Daher ist beim ersten Öffnen evtl. etwas Geduld oder ein neuer Mac gefragt.
Die Datei geht gar nicht auf? Dann lösch sie einfach, beim nächste Fehler, also beim nächsten Aufruf der Plugin-Seite wird ein neuer Eintrag und eine neue Datei erstellt.
Wenn du Glück hast, steht hier etwas, was dir einen Wink mit dem Zaunpfahl gibt. Wenn nicht, schau mal in die Entwicklerkonsole deines Browsers.
Was ich auffällig fand, waren dieser Eintrag hier, von dem es jede Menge gab:
2023-08-05T05:01:43.670743+00:00] app.INFO: cache-miss: system-config- [] []
Dieser Protokolleintrag gibt an, dass es zu einem Cache-Fehlschlag für den „system-config-„-Cache gekommen ist, und zwar zum angegebenen Zeitstempel (2023-08-05 05:01:43.670743 UTC). Die eckigen Klammern „[]“ zeigen an, dass keine spezifische Kennung oder kein spezifischer Schlüssel für das im Cache vermisste Element angegeben wurde.
Sprich: Irgendetwas ist faul mit dem Cache…
5. Spurensuche in der Developer Konsole
Klicke für die Spurensuche in die Liste mit der rechten Maustaste und geh dann auf Untersuchen und anschließend auf den Reiter Konsole.
Da es sich um einen internen Serverfehler handelt, könnte die Ursache vielfältig sein. Einige mögliche Gründe könnten sein:
• Ein Fehler in der Serverkonfiguration oder im Servercode.
• Ein Fehler in einem der Shopware-Plugins, der zu einem Fehler bei der Anfrageverarbeitung führt.
• Fehlende oder falsche Berechtigungen für den API-Endpunkt.
Prüfe dann noch ob der gleiche Fehler auch noch kommt wenn du einen ganz andern Bereich deines Shopware 6 Admin Bereihs aufrufst und nicht nur die Liste wo die Plugins und Themes nicht mehr angezeigt werden. Hierfür musst du nach dem Aufruf der Seite evtl. noch einmal den Browser refreshen um die aktuellen Meldungen unten angezeigt zu bekommen.
Wenn der Fehler von der Plugin Liste hier nicht mehr steht haben diese Fehler mit großer Wahrscheinlichkeit etwas damit zu tun, warum deine Plugins nicht mehr angezeigt werden.
6. opcache mit PHP Datei löschen
Den opcache über eine PHP Datei zu löschen, kann insbesondere denjenigen unter euch weiterhelfen, die zuvor an einem Plugin und genau genommen an dessen Namespace gearbeitet haben. Hier geht es dann auch nur um das eine Plugin, das in der Liste nicht mehr angezeigt wird.
Im Shopware Forum wird in einem Beitrag erklärt wie man den sogenannten opcache löscht. Das will ich euch nun auch in aller Kürze auftischen. Erstelle eine PHP Datei mit diesem Inhalt:
opcache_reset();
Die Datei kannst du oppi.php nennen und legst sie auf oberster Ebene deines Shops ab. Du solltest die Datei also über diese URL aufrufen können:
https://deinshop.de/oppi.php
Auf lokalen Developer Umgebungen legen wir die Datei in den public Ordner auf gleicher Ebene mit dem favicon ab.
In neueren Umgebungen wiederum kann es sein, dass die Datei nicht aufruf- und vor allem nicht ausführbar ist.
7. Plugins in phpmyadmin löschen
Wenn Deaktivieren nicht mehr bringt, gehen wir zum nächsten Schritt über: Eliminieren. Wenn ihr euch noch erinnert an welchen Sachen ihr zuletzt gearbeitet habt, könnt ihr die Plugins in der Reihenfolge löschen. Wer noch wichtige Sachen drin hat sollte vorher die Ordner irgendwo sichern.
Also: Erst den Order des Plugin löschen und dann dein Eintrag in der plugin Tabelle.
Wer eh noch unnötige Plugins installiert hat die man nicht mehr braucht kann die bei der Gelegeneheit auch gleich löschen.
Dann nach jedem gelöschten Plugin einmal den Cache löschen und gucken ob die Plugins und Themes im Shopware 6 Admin Bereich unter Erweiterungen wieder angezeigt werden.
php -d memory_limit=1024M bin/console cache:clear
Wer auf Nummer sicher gehen will löscht auch gleich den opcache jedes Mal noch zusätzlich hinterher.
Und wer an seiner Live-Umgebung doktert sollte das nicht tun. Erstelle erstmal eine Staging Umgebung mit StageWare.
DreamTheme
MessageOfTheday
SidebarBooser
OneLineArticleName
8. Weiterführende Links
Beiträge aus dem Shopware Forum:
https://forum.shopware.com/t/plugins-werden-nicht-mehr-angezeigt-sw-6-4-6-0/91296
https://forum.shopware.com/t/shopware-6-plugins-werden-im-backend-nicht-angezeigt/69013/9
Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.