控制器文件已加载但类不存在

fra*_*ank 17 magento

我在Magento中遇到此错误时遇到问题:

"控制器文件已加载,但类不存在".(底部全堆)

我基本上试图遵循这个教程:在Magento中创建新模块"HelloWorld".

...虽然我使用自己的公司/班级名称而不是"你好世界"

我总体上难以在Magento上找到好的文档,而且我很陌生......

谁能提供一些共同的原因,建议或见解?我被淹没,谷歌搜索了几个小时,检查权限和文件结构.你说它的名字.

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}
Run Code Online (Sandbox Code Playgroud)

Gre*_*reg 39

这个错误意味着magento为你的控制器找到了一个文件,(app/code/local/Namespace/Module/controllers/FooController.php)但是里面的类没有它预期的名字(它不是Namespace_Module_FooController).


小智 22

希望你有这个排序,只是为了让你知道我看了同样的教程,我认为这个错误可能通过在PHP代码示例的开头添加<?php声明来修复.


Ala*_*orm 15

您可能会发现这篇文章(大型系列的一部分)(自我链接)更有帮助,它更深入地了解您正在做的事情,这将使您能够在将来更好地调试事物.

至于你的具体错误

控制器文件已加载但类不存在

这意味着magento能够正确地要求/包含您放置控制器的文件,控制器类名称错误.应该命名控制器

Packagename_Module_ControllernameController
Run Code Online (Sandbox Code Playgroud)

并位于文件夹中

app/code/local/Packagename/Modulename/controllers/ControllernameController.php
Run Code Online (Sandbox Code Playgroud)