Gibt es eine Möglichkeit, neben dem Überprüfen aller Konfigurationsdateien alle Überschreibungen und möglicherweise andere potenzielle Konflikte aufzulisten? Ich muss einige Projekte mit vielen Erweiterungen und benutzerdefinierten Änderungen analysieren und möchte dies so weit wie möglich automatisieren.
Das Wichtigste ist, Erweiterungen zu erkennen, die dieselbe Klasse umschreiben, aber ich möchte auch eine Liste aller Umschreibungen haben, um den Überblick zu behalten. Im Moment pflege ich diese Liste manuell in einer Tabelle.
Ich habe diese Erweiterung ("Extension Conflict") auf Magento Connect gefunden, aber nach den Bewertungen und Versionshinweisen scheint sie veraltet zu sein.
magento-1
extensions
overrides
configuration
code-analysis
Fabian Schmengler
quelle
quelle
grep
Antworten:
Schauen Sie sich das Dienstprogramm n98-magerun an :
Sie können die Konflikte auch zur weiteren Analyse in einer JUnit Style-XML-Datei protokollieren, z. B. auf einem Continuous Integration-Server.
Haftungsausschluss: Semi-Self-Link / Ich bin an diesem Projekt beteiligt
quelle
Hier ein kleiner Einzeiler, mit dem Sie alle aktiven Änderungen vornehmen können:
Fügen Sie dem xpath Modelle, Blöcke oder Helfer hinzu, um ihn nach Objekttyp einzuschränken.
Beispielsweise:
quelle
Hier ist ein kleines Skript, mit dem ich überprüfe, ob Modelle, Blöcke oder Helfer überschrieben wurden. Leider funktioniert es nicht für Steuerungen und berücksichtigt auch die deaktivierten Module. Aber aus meiner Sicht ist das keine große Sache.
Die Hauptidee ist, die Konfigurationsdateien zu analysieren und nach dem
<rewrite>
Tag zu suchen . Erstellen Sie eine PHP-Datei auf der gleichen Ebene wieindex.php
. Nennen wir esrewrites.php
mit diesem Inhalt:Wenn Sie es in einem Browser aufrufen, sollten Sie ungefähr Folgendes sehen:
Dies bedeutet, dass das Modell von
'core/layout'
überschrieben wirdNamespace_Module_Model_Core_Layout
Wenn das Array zwei oder mehr Werte enthält ['core / layout'], liegt ein Konflikt vor.
Und Sie können leicht das Modul identifizieren, das etwas basierend auf überschreibt
Namespace
undModule
quelle
Ich habe beide Antworten kombiniert und eine schöne Lösung gefunden
quelle
Vielleicht etwas Aufwand, aber es ist schön, mit verschiedenen Datenerfassungscodes von https://github.com/firegento/firegento-debug zu arbeiten
Für die Ausgabe können Sie ...
quelle