2010-03-16 4 views
7

S'il y a quelque chose que tout le monde déteste à propos de Magento, il configure sans cesse vos modules avant de pouvoir écrire du code. J'essaye de rassembler une liste d'erreurs de configuration courantes de Magento pour un futur projet que je suis sur le point de lancer.Quelles sont vos erreurs courantes de configuration de Magento?

Je recherche des exemples spécifiques de choses comme l'utilisation de la mauvaise convention de nommage sur les noms de classes, en oubliant le wrapper <class /> lors de la configuration des noms de classes groupées. Des petites choses comme ça qui vous conduisent pendant des heures jusqu'à ce que vous réalisiez votre erreur.

Plus de détails, mieux c'est!

Répondre

7

dans /app/etc/module/your_Module.xml camelcase codePool autrement échouera

<?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

lors de la réécriture des blocs, des modèles ou des aides assurez-vous que le chemin pointe vers le bloc existant et il n'y a pas mal orthographié dans le chemin.

Par exemple, je viens de passer beaucoup de temps à comprendre pourquoi la rewrite suivante ne fonctionnait pas:

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

Comme vous pouvez le voir je « vues » où il doit être « vue ». Ainsi, il n'existe pas le bloc que j'essaie de réécrire, ce qui n'entraîne aucune erreur ni aucune réécriture.

Alan, je voudrais écrire le cas moi-même une fois que je vais obtenir le travail Configlint. J'ai un problème d'installation. Le problème que j'ai posté au 'gitHub'. Je veux me faire parce que je veux participer à ce projet

grâce, Margots

2

Utilisation du moduleCreator permet d'éviter beaucoup d'erreurs de configuration, mais un grand Gotcha (ironiquement par rapport à la réponse de Elzo) est en utilisant camelCase dans un nom de module. Il fonctionnera parfaitement lors du développement sur un système Windows, mais échoue silencieusement sur * nix.

Module_UsingCamelCaseFails 

alors

Module_Uselowercasetosucceed 

Je n'ai pas essayé de créer un module de cas de chameau * nix comme je le fais voir les modules avec cette convention de nommage qui fonctionne, mais certainement dans Windows-> direction Linux ramènerai difficulté.

J'ai également eu du mal à obtenir des ACL à coller lors de la création d'un menu de niveau supérieur dans le adminhtml. Si votre entrée de menu est un enfant de <cms> ou de <catalog>, les listes de contrôle d'accès fonctionnent correctement, mais pas en tant que noeud de première classe.

L'autre classique qui a pris un moment quand j'ai commencé le développement Magento, était d'oublier que vous ne pouvez pas remplacer un contrôleur en le plaçant simplement dans app/code/local/Mage. J'aimerais voir un outil qui est effectivement l'inverse de ConfigViewer, c'est-à-dire qui valide votre fichier config.xml dans le contexte des événements, objets et autres valeurs que vous avez spécifiés et qui devrait exister dans le reste de l'installation. Une analyse XSL de base serait le premier passage, puis tenterait d'instancier les objets référencés. Vous ne savez pas comment vous allez valider les événements observés, mais peut-être que grefper le code principal pour que le nom de cet événement puisse fonctionner. Pensées?

+0

Je seconde que, si vous CamelCase votre nom de module, il échouera silencieusement sur Linux. J'ai utilisé NewsletterSidebar comme nom de mon module et il a échoué. Donc, n'utilisez jamais CamelCase pour les noms de vos modules. – Faraz

Questions connexes