He instalado una extensión de módulo que arroja un error fatal
"Error fatal: la clase 'Mage_Giftcards_Helper_Data' no se encuentra en .... / app / Mage.php en la línea 546" en admin.
He referido este enlace /programming//a/9191286/2919940 y también este enlace /magento//a/7133/3693
Pero tengo
<global>
<helpers>
<giftcards>
<class>Webtex_Giftcards_Helper</class>
</giftcards>
</helpers>
</global>
en mi config.xml
y tengo esta clase
class Webtex_Giftcards_Helper_Data extends Mage_Core_Helper_Data{
// my methods
}
declarado en el /app/code/local/Webtex/Giftcards/Helper/Data.php
camino.
He deshabilitado el compilador y borrado el caché haciendo un var/cache
directorio vacío .
Encontré en todas partes que config.xml
debería tener una clase auxiliar definida y Data.php debería haber declarado esa clase auxiliar.
Pero tengo ambos en mi caso, ¿cuál puede ser la razón de este error? También probé ese módulo en mi nueva instalación de magento,
La versión de Magento es 1.7.0.2
Por favor proporcione ayuda para este error? Si hay conflictos de nombres de clase, ¿cómo podemos depurar eso?
Gracias
fuente
Respuestas:
Esto es común cuando se hace referencia a un ayudante perdido. En muchos casos, el nombre de la clase en sí está mal formado o su nombre abreviado que hace referencia a él es incorrecto, por lo que Magento lo está buscando en la ruta
Mage_Giftcards_Helper_Data
(consulte el ejemplo 1 a continuación). Para los siguientes ejemplos, he configurado un módulo llamadoMyCompany_MyModule
.Estas son solo algunas de las muchas formas en que puede equivocarse con la definición de ayudantes:
Alias de clase auxiliar incorrecto:
Me refiero a mi ayudante como:
Me sale el error:
¿Qué salió mal?
Mi alias de clase auxiliar se define como
mymodule
:Cambiar mi shortcode para
Mage::helper('mymodule')
producir el resultado deseado.Nombre de clase mal formado
Me refiero a mi ayudante (esta vez correctamente):
Recibo:
¿Qué salió mal?
Faltaba la definición de mi clase "_Data":
Ayudante / Personalizado:
Esto es similar a lo que sucede cuando intenta hacer referencia a una clase auxiliar dentro de un archivo que no se denomina "Data.php".
Me refiero a mi ayudante como:
La ruta auxiliar de mi módulo se definió como:
Tengo un archivo de clase en app / code / local / MyCompany / MyModule / Helper / Custom.php
Me sale el error:
¿Qué salió mal?
Debe especificar otras clases auxiliares en un módulo en particular como subrutas al nombre corto de su módulo auxiliar. Esto es similar a cómo funcionan los bloques y modelos, pero en el nivel superior no hay subcarpeta.
Arreglo este error haciendo referencia a mi archivo de clase auxiliar Custom.php como tal:
fuente
Esto solo sucede cuando instala una extensión con el compilador de habilitación. Esto es lo que debe hacer
Aplicación de 1 paso / etc / module / su módulo que instaló recientemente deshabilitar módulo
2 pasos Inicie sesión en el compilador admin / system / tools deshabilite el compilador Cargue el código nuevamente, funcionará bien, luego puede compilar su código nuevamente
buena suerte
fuente
codepool/extension_name/module_name/Helper/Data.php
includes/src/
fuente