2010-02-04 18 views
15

Estoy teniendo problemas para conseguir alrededor de este error en Magento:archivo de controlador se cargó pero no existe la clase

"archivo de controlador se cargó pero no existe la clase". (Pila completa en la parte inferior)

Estoy tratando esencialmente de seguir este tutorial: Create new module “HelloWorld” – in Magento.

... aunque estoy usando mis propios nombres de empresas/clase etc. en lugar de "hola mundo"

Estoy teniendo problemas para encontrar buena documentación sobre Magento en general, y soy muy nuevo en ella ..

¿Alguien puede proporcionar algunas causas, consejos o ideas comunes? Estoy inundado, busqué en Google esto por horas, compruebo los permisos y la estructura del archivo. Tu lo nombras

Trace: 
#0 /var/www/dev/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(306): Mage::exception('Mage_Core', 'Controller file...') 
#1 /var/www/dev/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(282): Mage_Core_Controller_Varien_Router_Standard->_inludeControllerClass('/var/www/dev_ml...', 'Foo_Wr...') 
#2 /var/www/dev/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(195): Mage_Core_Controller_Varien_Router_Standard->_validateControllerClassName('foo_Wr...', 'index') 
#3 /var/www/dev/app/code/core/Mage/Core/Controller/Varien/Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 
#4 /var/www/dev/app/Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch() 
#5 /var/www/dev/index.php(65): Mage::run() 
#6 {main} 
+0

Si incluye 1. La ruta completa a su archivo de controlador creado y 2. el contenido de su archivo de controlador, la gente estará en mejores condiciones para ayudarle. –

Respuesta

35

Ese error significa que Magento encuentra un archivo para su controlador donde se espera que (app/code/local/Namespace/Module/controllers/FooController.php) pero que la clase en el interior no tienen el nombre que esperaba (no era Namespace_Module_FooController).

+0

¡Acabas de salvar mi vida! –

15

Puede encontrar this article, (parte de un larger series) (enlace propio) más útil, y va más en el porqué de lo que está haciendo, lo que le permitirá depurar mejor las cosas usted mismo en el futuro.

En cuanto a su error específico

archivo de controlador se cargó pero la clase no existe

Esto significa Magento pudo requerir correctamente/incluir el archivo en que realizó su controlador en pero la clase de controlador fue mal llamada. Los controladores deben ser nombrados

Packagename_Module_ControllernameController 

y encuentran en la carpeta

app/code/local/Packagename/Modulename/controllers/ControllernameController.php 
21

Espero que tengas resolvieran esto, sólo para hacerle saber Miré al mismo tutorial, y creo que este error puede ser fijado por la adición de la declaración <? php al inicio de las muestras del código php.

+0

Este fue exactamente mi problema; Copié y pegué directamente del tutorial y no pude entender dónde me estaba yendo mal ... ¡gracias! – mjjohnson

+0

Ahora me siento stupod –

+0

Yo también, porque estoy cometiendo el mismo error – UnderGround

2

que estaba recibiendo este error porque estaba usando siguiente código en mi CartController (Reemplazado)

require_once "Mage/Checkout/controllers/CartController.php"; 
class Muk_Mycart_CartController extends Mage_Core_Controller_Front_Action 
{ 
} 

en lugar de seguir el código de la línea

require_once "Mage/Checkout/controllers/CartController.php"; 
class Muk_Mycart_Checkout_CartController extends Mage_Core_Controller_Front_Action 
{ 
} 

me estaba perdiendo "Pedido" en "Muk_Mycart_CartController ".Esto es un error porque estaba usando el siguiente código en mi CartController (reemplazado)

Mi estructura de directorios era así

Cuestiones relacionadas