2012-10-22 74 views
1

我已经在module.config中创建了一个名为'currency'的新模块并配置了路由。它工作正常。 之后,我添加了一个名为CrateController的新货币汇率控制器。并且还创建了窗体,模型和视图文件。 但它路由不正确。无法呈现模板zf2

错误:

Fatal error: Uncaught exception 'Zend\View\Exception\RuntimeException' with message 'Zend\View\Renderer\PhpRenderer::render: Unable to render template "currency/crate/index"; resolver could not resolve to a file....

任何线索检查了这一点会有所帮助。

我的module.config文件如下。

return array(
'controllers' => array(
    'invokables' => array(
     'Currency\Controller\Currency' => 'Currency\Controller\CurrencyController', 
     'Currency\Controller\Crate' => 'Currency\Controller\CrateController', 
    ), 
), 

// The following section is new and should be added to your file 
'router' => array(
    'routes' => array(
     'currency' => array(
      'type' => 'segment', 
      'options' => array(
       'route' => '/currency[/:action][/:currency_id]', 
       'constraints' => array(
        'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 
        'currency_id'  => '[0-9]+', 
       ), 
       'defaults' => array(
        'controller' => 'Currency\Controller\Currency', 
        'action'  => 'index', 
       ), 
      ), 
     ), 
     'crate' => array(
      'type' => 'segment', 
      'options' => array(
       'route' => '/crate[/:action][/:c_rate_id]', 
       'constraints' => array(
        'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 
        'c_rate_id' => '[0-9]+', 
       ), 
       'defaults' => array(
        'controller' => 'Currency\Controller\Crate', 
        'action'  => 'index', 
       ), 
      ), 
     ),   
    ), 
), 

回答

11

检查两件事情:

首先:本模板文件? ./module/Currency/view/currency/crate/index.phtml

:检查下面的条目中./Currency/config/module.config.php

'view_manager' => array(
    'template_path_stack' => array(
     'currency' => __DIR__ . '/../view', 
    ) 
), 
+0

Oops..First事情失败。我没有在Crate文件夹下创建index.phtml文件。第二件事是好的。现在它正在工作。谢谢你的帮助 – cha