此問題涉及到Zend Framework應用程序版本:2.1.3。我是開發人員,是Zend Framework的新成員,並且非常重視您的幫助。更改module.config.php的路由值後加載視圖錯誤 - Zend Framework
我正在爲一個教會的'捐贈者管理系統'製作一個模塊。我正在使用的模塊被稱爲「QueryBuilder」。以前的模塊很好,工作很好。我使用Zend幫手崇高文字和它產生的module.config.php
<?php
/**
*
* @package QueryBuilder
*/
return array(
'controllers' => array(
'invokables' => array(
'QueryBuilder\Controller\QueryBuilder' => 'QueryBuilder\Controller\QueryBuilderController',
),
),
// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'querybuilder' => array(
'type' => 'segment',
'options' => array(
'route' => '/querybuilder[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'QueryBuilder\Controller\QueryBuilder',
'action' => 'index',
//'action' => 'search',
//'action' => 'recent',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'querybuilder' => __DIR__ . '/../view',
),
),
);
?>
確定爲具有樂趣一點點的做了一些成功的模塊後,類似的一些事情,我改變了router
如下。
<?php
/**
*
* @package QueryBuilder
*/
return array(
'controllers' => array(
'invokables' => array(
'QueryBuilder\Controller\QueryBuilder' => 'QueryBuilder\Controller\QueryBuilderController',
),
),
// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'querybuilder' => array(
'type' => 'segment',
'options' => array(
'route' => '/query-builder[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'QueryBuilder\Controller\QueryBuilder',
'action' => 'index',
//'action' => 'search',
//'action' => 'recent',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'querybuilder' => __DIR__ . '/../view',
),
),
);
?>
注意:只有route
值從/querybuilder...
變更爲/query-builder...
。當我嘗試訪問路線http://konnections/query-builder
時,出現了一些錯誤,但我沒有通過它。
想知道爲什麼我不想成爲英雄,我把價值改回了默認值。並試圖加載http://konnections/querybuilder
,但它也給出了一個錯誤。
Zend\View\Renderer\PhpRenderer::render: Unable to render template "query-builder/query-builder/index"; resolver could not resolve to a file
無論在哪裏在模塊的代碼,你可以找到的話query-builder
。所以常識說,需要訪問query-builder/query-builder/index
沒有辦法。
認爲這可能是一些緩存,我在整個應用程序文件夾中查找它。然後我重新啓動計算機Apache,刪除並創建了一個名稱相同的新模塊QueryBuilder
,但仍然存在錯誤。
注意:這是一個什麼也沒做的插件。我只是改變了route
的值,認爲它會使URL看起來更整齊。
這裏是我結束了[圖片]:
不,這不是IE,因爲我在Chrome嘗試(它沒有訪問query-builder
URL)爲好。
整個Zend文件夾(網站的根目錄)沒有提及query-builder
。它來自哪裏,我如何改變它?
在此先感謝。
我想我找到了正在發生的事情,但我打開了一個更好的答案。 – 2013-03-01 21:25:00