2010-03-16 17 views
7

Si hay algo que todo el mundo odia acerca de Magento, configura sus módulos sin fin antes de poder escribir algún código. Intento recopilar una lista de errores de configuración comunes de Magento para un proyecto futuro que estoy cerca de lanzar.¿Cuáles son los errores comunes de configuración de Magento?

Estoy buscando ejemplos específicos de cosas como el uso de la convención de nomenclatura incorrecta en nombres de clase, olvidando el contenedor <class /> al configurar los nombres de clases agrupadas. Pequeñas cosas como esas que te dejan sin aliento por horas hasta que te das cuenta de tu error.

Cuantos más detalles, mejor!

Respuesta

7

en /app/etc/module/your_Module.xml camelCase codePool de lo contrario se producirá un error

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

Cuando la reescritura de bloques, modelos o ayudantes asegurarse de que el camino está apuntando al bloque existente y no hay error ortográfico en el camino.

Por ejemplo, yo acabamos de pasar un tiempo de mucho averiguar por qué la siguiente reescritura no funcionó:

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

Como se puede ver que tengo 'vistas' en las que debe ser 'vista'. Por lo tanto, no existe el bloque que estoy tratando de reescribir, lo que resulta en que no hay errores ni reescrituras.

Alan, me gustaría escribir el caso yo mismo una vez que funcione la Configlint. Tengo problemas para instalarlo. El problema que publiqué en 'gitHub'. Quiero hacer yo mismo porque quiero estar involucrado en este proyecto

gracias, Margots

2

Utilizando el moduleCreator ayuda a evitar muchos errores de configuración, pero uno de gotcha grande (irónicamente, en comparación con la respuesta de Elzo) es usando camelCase en un nombre de módulo. Funcionará perfectamente cuando se desarrolle en un sistema Windows, pero falla silenciosamente en * nix.

Module_UsingCamelCaseFails 

mientras que

Module_Uselowercasetosucceed 

no he intentado crear un módulo caso de camellos en * nix como lo hago ver con módulos que convención de nomenclatura que funciona, pero ciertamente en la dirección Windows-> Linux haré problema.

También tuve dificultades para mantener las ACL al crear un menú de nivel superior en el archivo adminhtml. Si su entrada de menú es un elemento secundario de <cms> o <catalog>, las ACL funcionan bien, pero no como un nodo de primera clase.

El otro clásico que tardó un tiempo cuando comencé el desarrollo de Magento, fue olvidar que no puedes anular un controlador simplemente colocándolo en app/code/local/Mage.

Me encantaría ver una herramienta que sea efectivamente la inversa de ConfigViewer, es decir, una que valida su config.xml en el contexto de los eventos, objetos y otros valores que ha especificado y debe existir en el resto de la instalación. Un análisis básico de XSL sería el primer paso, luego intentará crear una instancia de cualquier objeto referenciado. No estoy seguro de cómo va a validar los eventos observados, pero quizás funcionen el código central para ese nombre de evento. ¿Pensamientos?

+0

En segundo lugar, si CamelCase el nombre de su módulo, fallará silenciosamente en Linux. Utilicé NewsletterSidebar como mi nombre de módulo y falló. Así que nunca use CamelCase para los nombres de sus módulos. – Faraz

Cuestiones relacionadas