2010-02-04 9 views
15

Sto avendo difficoltà a muoversi in questo errore Magento:file di controllo è stato caricato, ma di classe non esiste

"file di controllo è stato caricato, ma di classe non esiste". (Full stack in fondo)

Sto essenzialmente cercando di seguire questo tutorial: Create new module “HelloWorld” – in Magento.

... se sto usando il mio nome azienda/classe ecc invece di "ciao mondo"

Sto avendo difficoltà a trovare una buona documentazione su Magento, in generale, e io sono molto nuovo a questo ..

qualcuno può fornire alcune cause, consigli o intuizioni? Sono inondato, ho cercato su Google questo per ore, controllare le autorizzazioni e la struttura dei file. Lo chiami.

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

Se si include 1. Il percorso completo del file del controller creato e 2. il contenuto del file del controller, le persone saranno maggiormente in grado di aiutarvi. –

risposta

35

Tale errore significa che Magento trovato un file per il controller in cui si prevede di (app/code/local/Namespace/Module/controllers/FooController.php) ma che la classe interna non ha avuto il nome di aspettarsi (non Namespace_Module_FooController era).

+0

Mi hai appena salvato la vita! –

15

È possibile trovare this article (parte di un larger series) (collegamento automatico) più utile, e va più nel perché di ciò che si sta facendo, che consentirà di eseguire il debug in modo più efficiente in futuro.

quanto riguarda il tuo errore specifico

file di controller

è stato caricato, ma di classe non esiste

Ciò significa Magento è stato in grado di richiedere correttamente/includere il file è stato inserito il controller in ma la classe controller è stata erroneamente chiamata. Controller devono essere denominati

Packagename_Module_ControllernameController 

e trovano nella cartella

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

spero tu abbia risolto questo, solo per farvi sapere Ho guardato lo stesso tutorial, e credo che questo errore può essere risolto l'aggiunta della dichiarazione <? php all'inizio degli esempi di codice php.

+0

Questo era esattamente il mio problema; Ho copiato e incollato direttamente dal tutorial e non riuscivo a capire dove stavo sbagliando ... grazie! – mjjohnson

+0

Ora mi sento stupido –

+0

Anche io, perché sto facendo lo stesso errore – UnderGround

2

mi è stato sempre questo errore perché stavo usando seguente codice nel mio CartController (override)

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

invece di seguire il codice della linea

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

mi mancava "Checkout" in "Muk_Mycart_CartController "Questo è un errore perché stavo usando il seguente codice nel mio CartController (Sovrascritto)

La mia struttura di directory era così

\app\code\local\Muk\Mycart\controllers\Checkout 
\app\code\local\Muk\Mycart\controllers\Checkout\CartController.php 
Problemi correlati