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