2010-03-16 6 views
7

Wenn es etwas gibt, das alle hasst über Magento ist es endlos konfigurieren Sie Ihre Module vor dem Schreiben von etwas Code. Ich versuche eine Liste häufiger Magento-Konfigurationsfehler für ein zukünftiges Projekt zu sammeln, das kurz vor dem Start steht.Was sind die häufigsten Fehler bei der Magento-Konfiguration?

Ich bin auf der Suche nach bestimmten Beispielen für Dinge wie die falsche Namenskonvention auf Klassennamen verwenden, vergiss die <class /> Wrapper beim Einrichten gruppierten Klassennamen. Kleine Dinge wie diese, die dich stundenlang treiben, bis du deinen Fehler erkennst.

Je mehr Details, desto besser!

Antwort

7

in /app/etc/module/your_Module.xml Camelcase codePool sonst scheitern

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Your_Module> 
      <!-- <codepool>local</codepool> this will fail silently--> 
      <codePool>local</codePool> 
      <active>true</active> 
     </Omx_Hooks> 
    </modules> 
</config> 
0

Wenn Blöcke Umschreiben, Modelle oder Helfer sicherstellen, dass der Weg zum zeigt Block bestehenden und es gibt keine falsch geschrieben im Pfad.

Zum Beispiel habe ich verbrachte nur eine Menge Zeit, herauszufinden, warum die folgenden Umschreibungs nicht funktionierten:

<blocks> 
    <adminhtml> 
    <rewrite> <sales_order_views_tabs>Path_to_My_class</sales_order_views_tabs> 
    </rewrite> 
    </adminhtml> 
</blocks> 

Wie Sie sie sehen können, ich habe die Ansichten ", wo es braucht‚view‘zu sein. Daher gibt es den Block nicht, den ich versuche, neu zu schreiben, resultierend keine Fehler und auch nicht umschreibt.

Alan, ich möchte den Fall selbst schreiben, sobald ich die Configlint Arbeit bekommen werde. Ich habe Probleme, es zu installieren. Das Problem habe ich im 'gitHub' gepostet. Ich möchte mich zu tun, weil ich

Dank an diesem Projekt beteiligt sein wollen, Margots

2

Mit der moduleCreator hilft viel Konfigurationsfehler zu vermeiden, aber eine große Gotcha (ironischerweise im Vergleich zu Elzo Antwort) ist Verwenden von camelCase in einem Modulnamen. Es funktioniert perfekt bei der Entwicklung auf einem Windows-System, aber scheitert im Hintergrund * nix.

Module_UsingCamelCaseFails 

während

Module_Uselowercasetosucceed 

Ich habe nicht versucht, ein Kamel Fall Modul auf * nix zu schaffen, wie ich Module tun sehen mit dieser Namenskonvention, die funktionieren, aber sicher in Windows-> Linux Richtung verursacht Ärger.

Ich hatte auch Schwierigkeiten, ACLs beim Erstellen eines Top-Level-Menüs in der adminhtml zu bleiben. Wenn Ihr Menüeintrag ein untergeordnetes Element von <cms> oder <catalog> ist, funktionieren die ACLs einwandfrei, aber nicht als Knoten erster Klasse.

Der andere Klassiker, der eine Weile gedauert hat, als ich Magento-Entwicklung begann, war vergessen, dass Sie einen Controller nicht überschreiben können, indem Sie ihn einfach in app/code/local/Mage platzieren.

Ich würde gerne ein Werkzeug sehen, das effektiv die Umkehrung von ConfigViewer ist, dh eine, die Ihre config.xml im Zusammenhang mit den Ereignissen, Objekten und anderen Werten validiert, die Sie angegeben haben und im Rest von existieren sollten die Installation. Eine grundlegende XSL-Analyse wäre der erste Durchlauf, und dann versuchen Sie, alle referenzierten Objekte zu instanziieren. Nicht sicher, wie Sie beobachtete Ereignisse validieren würden, aber möglicherweise könnte das Überschreiben des Hauptcodes für diesen Ereignisnamen funktionieren. Gedanken?

+0

Ich zweitens, wenn Sie CamelCase Ihren Modulnamen, wird es unter Linux stumm schlagen. Ich habe NewsletterSidebar als meinen Modulnamen verwendet und es ist fehlgeschlagen. Also verwende CamelCase niemals für deine Modulnamen. – Faraz

Verwandte Themen