2010-02-04 33 views
15

Tôi gặp sự cố khi gặp lỗi này trong Magento:Tệp bộ điều khiển đã được tải nhưng lớp học không tồn tại

"Tệp bộ điều khiển đã được tải nhưng lớp không tồn tại". (Ngăn xếp đầy đủ ở dưới cùng)

Tôi chủ yếu cố gắng làm theo hướng dẫn này: Create new module “HelloWorld” – in Magento.

... mặc dù tôi đang sử dụng riêng tên công ty/lớp học của tôi, vv thay vì "hello world"

Tôi gặp khó khăn khi tìm tài liệu tốt về Magento nói chung, và tôi rất mới vào nó ..

ai cũng có thể cung cấp một số nguyên nhân, lời khuyên hoặc thông tin chi tiết phổ biến? Tôi đang đầm lầy, googled này trong nhiều giờ, kiểm tra quyền và cấu trúc tập tin. Bạn đặt tên cho nó.

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

Nếu bạn bao gồm 1. Đường dẫn đầy đủ đến tệp bộ điều khiển được tạo và 2. nội dung của tệp điều khiển, mọi người sẽ có thể trợ giúp bạn tốt hơn. –

Trả lời

35

lỗi Điều đó có nghĩa rằng Magento tìm thấy một tập tin cho điều khiển của bạn, nơi nó dự kiến ​​sẽ (app/code/local/Namespace/Module/controllers/FooController.php) nhưng điều đó lớp bên trong không có tên nó mong đợi (nó không Namespace_Module_FooController).

+0

Bạn vừa mới cứu mạng tôi! –

15

Bạn có thể tìm thấy this article, (một phần của larger series) (tự liên kết) hữu ích hơn và nó đi sâu hơn vào lý do bạn đang làm gì, điều này sẽ cho phép bạn tự khắc phục sự cố tốt hơn trong tương lai.

Đối với lỗi cụ thể của bạn

tập tin điều khiển đã được nạp nhưng lớp không tồn tại

Điều này có nghĩa Magento đã có thể đòi hỏi một cách chính xác/bao gồm các tập tin mà bạn đặt điều khiển của bạn trong nhưng lớp điều khiển bị đặt tên sai. Bộ điều khiển nên được đặt tên là

Packagename_Module_ControllernameController 

và nằm trong thư mục

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

Hy vọng bạn đã này được sắp xếp, chỉ để cho bạn biết tôi nhìn vào cùng một hướng dẫn, và tôi nghĩ rằng lỗi này có thể được cố định bởi việc bổ sung khai báo <? php vào đầu các mẫu mã php.

+0

Đây chính là vấn đề của tôi; Tôi sao chép và dán trực tiếp từ hướng dẫn và không thể tìm ra nơi tôi đã đi sai ... cảm ơn! – mjjohnson

+0

Bây giờ tôi cảm thấy stupod –

+0

Tôi cũng vậy, Bởi vì tôi đang phạm sai lầm tương tự – UnderGround

2

tôi đã nhận được lỗi này vì tôi đã sử dụng đoạn mã sau vào CartController tôi (ghi đè)

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

thay vì theo quy tắc dòng

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

tôi nhớ da diết "Thanh toán" trong "Muk_Mycart_CartController ".Đây là lỗi vì tôi đang sử dụng mã sau trong CartController của tôi (Ghi đè)

Cấu trúc thư mục của tôi giống như thế này

\app\code\local\Muk\Mycart\controllers\Checkout 
\app\code\local\Muk\Mycart\controllers\Checkout\CartController.php 
Các vấn đề liên quan