2012-02-22 138 views
0

我创建了一个名为Admin的模块,并通过zend工具创建了一个控制器管理员。并补充follwoing在引导Zend Framework模块访问

protected function _initAutoLoad() 
{ 
    $front = Zend_Controller_Front::getInstance(); 
    $front->setControllerDirectory(array(
          'default' => APPLICATION_PATH . '/default/controllers' , 
          'Admin' => APPLICATION_PATH . '/Admin/controllers' 
           )); 
    $autoloader = Zend_Loader_Autoloader::getInstance(); 
    $autoloader->suppressNotFoundWarnings(false); 
} 

代码,但如果我访问http://localhost/zf_hemr/Admin网址我得到“未找到”的错误。如果我访问的“http://本地主机/ zf_hemr /公/管理员” URL我收到以下错误:

Page not found 
Exception information: 

Message: Invalid controller specified (index) 
Stack trace: 

#0 D:\web\www\zf_hemr\library\Zend\Controller\Front.php(954):  Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http),  Object(Zend_Controller_Response_Http)) 
#1 D:\web\www\zf_hemr\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch() 
#2 D:\web\www\zf_hemr\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() 
#3 D:\web\www\zf_hemr\public\index.php(26): Zend_Application->run() 
#4 {main} 

Request Parameters: 

array (
    'module' => 'Admin', 
    'controller' => 'index', 
    'action' => 'index', 
) 

能否请你让我知道我在哪里出了错?

+0

请问您可以添加您的项目目录结构吗? – Liyali 2012-02-22 18:24:55

+0

当然。 https://skydrive.live.com/#cid=42249D719A3AB756&id=42249D719A3AB756!302 请查看上面的网址查看结构。 – Pradeep 2012-02-22 18:32:37

回答

0

你忘记添加/modules到您的路径:

$front->setControllerDirectory(array(
           'default' => APPLICATION_PATH . '/modules/default/controllers', 
           'Admin' => APPLICATION_PATH . '/modules/Admin/controllers' 
          )); 

但是,你不应该这样做,把它做我的正确方法是在你的configuration.ini添加这些行文件:

resources.modules[] = 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.frontController.prefixDefaultModule = false 

第一行使资源插件Zend_Application_Resource_Modules是要照顾一切的为您服务。

+0

我添加了fontController。 application.ini如下所示: 请查看url以查看application.ini和bootstrap.php文件。 https://skydrive.live.com/?cid=42249D719A3AB756&id=42249D719A3AB756!116 – Pradeep 2012-02-22 19:00:47

+0

在你的application.ini文件中添加上面的内容。 – Liyali 2012-02-22 19:03:50

+0

我已经添加了这些行。仍然我没有得到在浏览器中加载模块。 – Pradeep 2012-02-22 19:14:42