11. Juni 2018, Anna Völkl

Tipps & Tricks: Magento 2 Modul-Ausgabe unterbinden

Tipps & Tricks: Magento 2 Modul-Ausgabe unterbinden

In unserer Kategorie â€žTipps & Tricks“ stellen wir euch kleine Handgriffe und Kniffe vor, die euch das Leben mit Magento erleichtern und Fehler beseitigen.

Magento 2 Modul-Ausgabe unterbinden

Kennt ihr auch das Problem, dass ein Modul, das ihr eigentlich garnicht benötigt, ungefragt Daten im Frontend eures Shops ausgibt?

Die erste logische Konsequenz, die einem hier in den Sinn kommt: Das Modul deaktivieren und so zwei Fliegen mit einer Klatsche schlagen – wir brauchen nicht lange suchen, wo die Ausgabe herkommt und wie wir sie unterbinden können und wir sparen auch noch Code ein, der ausgefĂŒhrt werden muss.

Wenn das Alles ist – wozu dann dieser Artikel?

Leider ist es aber oft nicht möglich ein Modul einfach zu deaktivieren. Vor allem AbhĂ€ngigkeiten zu anderen Modulen oder gewisse andere Funktionen werden benötigt, um den optimalen Output zu bekommen.

Ok – und was jetzt?

Was können wir also tun, damit wir die unerwĂŒnschten Frontend-Ausgaben loswerden, ohne das Modul zu deaktiveren?

Magento 1 hat uns hier ĂŒber das Backend eine komfortable Möglichkeit geboten, genau das zu erreichen. Aber mit Magento 1 ist leider auch dieses Feature Geschichte ?

In Magento 2 mĂŒssen wir daher den etwas unkomfortableren Weg ĂŒber die config.xml wĂ€hlen:

Dieses Beispiel deaktiviert sĂ€mtliche Frontend-Ausgaben des Magento_Newsletter Moduls, das Modul selber bleibt im Hintergrund jedoch weiterhin aktiv.

Und wie kann ich jetzt verifizieren, dass keine Ausgaben mehr generiert werden?

Die Ausgaben, wegen der ihr ĂŒberhaupt nach einer Lösung gesucht habt, sollten natĂŒrlich verschwunden sein.
Um aber auf Nummer sicher zu gehen, dass ein Modul keine Ausgaben mehr ins Frontend schreibt, könnt ihr folgendes Snippet als Ausgangsbasis verwenden:

Hier prĂŒfen wir mit Hilfe des Module Managers, ob ein bestimmtes Modul noch Ausgaben produziert oder nicht. Die Klasse \Magento\Framework\Module\Manager muss vor der Verwendung natĂŒrlich noch ĂŒber die in Magento 2 ĂŒbliche Dependency Injection geladen werden.

WeiterfĂŒhrende Informationen

WeiterfĂŒhrende Informationen zu diesem Thema findet ihr in der offiziellen Magento 2 Dokumentation unter http://devdocs.magento.com/guides/v2.2/config-guide/config/disable-module-output.html