FOL9000

eclipse für Magento einrichten

von | Keine Kommentare

Nach dem Erzeugen eines neuen eclipse-Projektes auf der Basis des Magento-Codes wird man von Fehlern und Warnungen erschlagen. Könnte man darauf keinen Einfluss nehmen, wäre mit den eclipse-Fehlermeldungen bei der Magento-Entwicklung kaum zu arbeiten, sie würden im Rauschen der Meldungsflut untergehen. Aber man kann eclipse so konfigurieren, dass Meldungen zum Magento-Code ausgefiltert werden.

Nach dem Erzeugen des Projekts kommt der Schlag: 342 Errors, 6892 Warnungen. Das mag bei verschiedenen Versionen leicht anders sein, aber irrsinnig viel ist es immer.

Die Lösung für dieses Problem besteht darin, eclipse so zu konfigurieren, dass der Original-Magento-Code nicht analysiert wird, eigene Erweiterungen und Änderungen von eclipse aber weiterhin untersucht werden. So hat man nur Fehlermeldungen für selbst-produzierten Code. Ein gutes Beispiel ist das base-Package. Änderungen sind hier ohnehin tabu, deshalb kann man alles, was zu base gehört, aus der Code-Analyse herausnehmen.

Die Tipps, die ich im folgenden notiert habe, sollen nicht abschließend sein. Es können in anderen Versionen immer Änderungen am Magento-Code vorgenommen werden, die auch Änderungen in der eclipse-Konfiguration nach sich ziehen. Wichtig ist, dass das Vorgehen, dass ich schildere, im wesentlichen gleich bleiben dürfte, egal, ob ein zusätzliches Verzeichnis berücksichtigt werden muss oder einen neue Library hinzugefügt wurde.

Die Infos sind also immer eher vorläufig. Wer sicherstellen möchte, dass der eigene Code auch weiterhin von eclipse gecheckt wird, kann einfach einen Fehler einbauen und sieht dann schon, ob etwas im Problems-View angezeigt wird.

Alle Einstellungen werden in den Projekt-Properties gemacht. Die erreicht man entweder über einen Rechts-Klick auf dem Projekt im PHP-Explorer oder über den Eintrag ‚Properties‘ im Project-Menu.

JavaScript-Probleme

Die vielen JavaScript-Probleme geht man am besten über den Include Path an. Wie an der Liste zu sehen, sind es vor allem zwei Bereiche, in denen man eingreifen muss. Zunächst in den Skins der Packages base und default — beides Packages, in denen man sowieso nicht herumfuhrwerken sollte. Und zum anderen bei den Fremd-Libraries. Die muss man übernehmen wie sie kommen, hier kann man problemlos jede Validierung rausnehmen.

Dazu nun in den Projekt-Properties unter JavaScript → Include Path ‚Source‘ wählen, den Projekt-Knoten öffnen und dort ‚Excluded‘ auswählen. Dann mit dem ‚Edit…‘-Button die Verzeichnisse auswählen, die ignoriert werden sollen. Am besten unter ‚Add multiple…‘ gleich in einem Schritt die Verzeichnisse auswählen. Bei mir waren es folgende:

  • downloader/js
  • js/calendar
  • js/extjs
  • js/flash
  • js/jscolor
  • js/lib
  • js/mage
  • js/prototype
  • js/scriptaculous
  • js/tiny_mce
  • js/varien
  • js/german
  • skin/frontend/base/
  • skin/frontend/default/

Damit waren bei mir alle JavaScript-Fehler oder Warnungen weg.

Validierung anpassen

Neben dem Include-Pfad für JavaScript gibt es die Validierung als weiteren wichtigen Bereich, in dem man eclipse für Magento anpassen kann.

Validierte Dateien und Verzeichnisse anpassen — das Verfahren

Zunächst gilt es, die Validatoren für das Projekt anzupassen. Also erst einmal die Properties für das Projekt anzeigen: Entweder über das Kontext-Menu des Projekt-Knotens im PHP-Explorer oder über das Menu ‚Projekt‘. Dort ‚Validation‘ wählen und ‚Enable project specific settings‘ ankreuzen. Damit können die Validatoren für das Projekt angepasst werden.

Die Anpassung der Validatoren geschieht immer nach dem gleichen Muster. Um mich nicht ständig wiederholen zu müssen, deshalb erst einmal ein paar Worte zu allgemeinen Vorgehen.

Validator-Settings auswählen

Bei jedem der in der Tabelle aufgeführten Validatoren erreicht man die Einstellungen durch einen Klick auf den ‚…‘-Button. Mit der Include group wird im Konfigurations-Dialog angegeben, welche Dateien der Validator berücksichtigen soll, mit der Exclude group wird angegeben, welche von der Validierung ausgeschlossen werden sollen. Diese Exclude groups gilt es für die Anpassung zu konfigurieren.

Eine Exclude Group hinzufügen

Immer gibt es bei den Validatoren eine Include group, nicht immer aber eine Exclude group. Gibt es keine, kann man über den Button ‚Add Exclude Group…‘ eine Gruppe hinzufügen.

Ein Ausschluss-Verzeichnis hinzufügen

Hat man eine Exclude group, kann man diverse Angaben dazu machen, was von der Validierung ausgeschlossen werden soll. Für die folgenden Anpassungen ist es nur wichtig, ein neues Ausschluss-Verzeichnis hinzuzufügen.

Zunächst also erstmal die Exclude group selektieren und dann den ‚Add Rule…‘-Button klicken. Im sich öffnenden Dialog können nun neue Regeln editiert werden. Uns interessieren hier nur die Regeln zum Ausschluss von Verzeichnissen.

Im Dialog kann eine Datei oder ein Verzeichnis ausgewählt werden. Gibt man aber ein Verzeichnis im Input-Feld ein, wird dies als Datei-Name interpretiert. Will man ein Verzeichnis angeben, bleibt deshalb nur die Auswahl über den ‚Browse Folder…‘-Button.

Auf diese Weise können alle im folgenden beschriebenen Regeln angegeben werden.

XML-Validator

Hier existiert bereits eine Exclude Group, wir können uns also auf das hinzufügen neuer Regeln beschränken. Bei mir reichte es, drei Verzeichnisse hinzuzufügen:

  • app/code/core

Zusätzlich habe ich die Regeln, nach denen XML validiert wird, noch etwas angepasst. In den Properties unter Validation → XML Syntax zunächst ‚Enable project specific settings‘ anwählen. Dann ‚No grammar specified‘ auf ‚Ignore setzen‘. Das ist natürlich Geschmackssache, aber in vielen Fällen wird man eine XML-Datei ohne DTD oder Schema benutzen, sodass die Warnungen meist stören dürften.

WSDL-Validator

Hier muss erst einmal eine Exclude Group hinzugefügt werden. In diese Gruppe fügt man nun die folgenden Verzeichnisse als Ausschluss-Verzeichnisse hinzu:

  • app/code/core
  • lib/Zend

HTML Syntax Validator

Auch hier reicht es, zwei Verzeichnisse anzugeben:

  • app/locale
  • js/tiny_mce

HTML Syntax Validator (for PHP files)

Bei der Analyse der HTML-Probleme wird erstmal deutlich, dass der Magento-Code hier noch über weite Strecken nicht gerade auf dem neuesten Stand ist. Aber egal, wir wollen die Validatoren ja nur unseren eigenen Code analysieren lassen, deshalb wieder gegebenenfalls eine Exclude Group hinzufügen und darin folgende Ausschlussverzeichnisse:

  • downloader
  • app/design/frontend/base
  • app/design/frontend/default
  • app/design/adminhtml/default
  • app/design/install/default

Und erneut validieren…

Zum Schluss kann das Projekt neu validiert werden. Dazu im Kontext-Menu des Projekts ‚Validation‘ anklicken und warten (um sehen zu können, was bzw. ob überhaupt etwas passiert, öffne ich hier gern den Progress-View).

Sollten doch noch Fehler oder Warnungen angezeigt werden, hilft ein Blick auf den Fehler-Typ und die Fehler-Ressource bzw. den -Pfad. Gegebenenfalls muss man dann den Pfad aus der Validierung herausnehmen oder auch nur eine Datei davon ausschließen. Das Verfahren ist aber immer dem hier dargestellten ähnlich.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.