2010-02-04 3 views
15

Ich habe Probleme in Magento, um diesen Fehler bekommen:Controller-Datei geladen wurde, aber Klasse existiert nicht

„Controller-Datei geladen wurde, aber Klasse existiert nicht“. (Ganzer Stapel unten)

Ich versuche im Wesentlichen, diesem Tutorial zu folgen: Create new module “HelloWorld” – in Magento.

... obwohl ich meine eigenen Firma/Klassennamen verwenden usw. statt „Hallo Welt“

Ich habe Probleme in der Regel auf Magento gute Dokumentation zu finden, und ich bin es sehr neu .. .

kann jemand einige allgemeine Ursachen, Ratschläge oder Einblicke zur Verfügung stellen? Ich bin überschwemmt, habe stundenlang gegoogelt, Berechtigungen und Dateistruktur überprüft. Sie nennen es.

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

Wenn Sie 1. den vollständigen Pfad zu Ihrer erstellten Controller-Datei und 2. den Inhalt Ihrer Controller-Datei angeben, können die Mitarbeiter Ihnen besser helfen. –

Antwort

35

Dieser Fehler bedeutet, dass magento eine Datei für Ihren Controller gefunden, wo es zu (app/code/local/Namespace/Module/controllers/FooController.php) erwartet aber, dass die Klasse in den Namen nicht hatte es erwartet (es war nicht Namespace_Module_FooController).

+0

Du hast gerade mein Leben gerettet! –

15

Sie könnten finden this article, (Teil einer larger series) (Self-Link) mehr hilfreich, und es geht mehr in das Warum von dem, was Sie tun, mit denen Sie besser Debugging selbst in der Zukunft.

Wie für Ihre spezifischen Fehler

Controller-Datei geladen wurde, aber Klasse existiert nicht

Das bedeutet magento der Lage war, richtig zu verlangen/umfassen die Datei, die Sie Ihren Controller in platziert, aber Die Controller-Klasse wurde falsch benannt. Controller sollten

Packagename_Module_ControllernameController 

und befindet sich in dem Ordner benannt werden

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

hoffe, Sie haben diese sortiert, nur damit Sie wissen, ich auf dem gleichen Tutorial sah, und ich denke, diese Fehler behoben werden können, indem das Hinzufügen der <? php-Deklaration zum Anfang der PHP-Code-Beispiele.

+0

Das war genau mein Problem; Ich kopierte und klebte direkt aus dem Tutorial und konnte nicht herausfinden, wo ich falsch gelaufen bin ... danke! – mjjohnson

+0

Jetzt fühle ich Stupod –

+0

Ich auch, Weil ich denselben Fehler mache – UnderGround

2

ich diesen Fehler war immer, weil ich in meinem CartController (Überschrieben) folgenden Code wurde mit

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

statt folgenden Code der Linie

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

ich "Kasse" in „Muk_Mycart_CartController fehlt "Dies ist ein Fehler, weil ich den folgenden Code in meinem CartController (Überschrieben) verwendet habe

Meine Verzeichnisstruktur war wie folgt

\app\code\local\Muk\Mycart\controllers\Checkout 
\app\code\local\Muk\Mycart\controllers\Checkout\CartController.php 
Verwandte Themen