2013-02-10 32 views
2

我有一個控制器類擴展Zend\Mvc\Controller\AbstractActionController。我想要一個動作方法來生成原子提要。爲什麼我的ZF2 MVC應用程序使用PhpRenderer而不是FeedRenderer?

我module.config.php啓用ViewFeedStratagy

return array(
    'view_manager' => array(
     'stratagies' => array(
      'ViewFeedStratagy', 
     ), 
     ... 
    ), 
    ... 
); 

而且在我的控制器,代碼如下:

<?php 
namespace Blog\Controller; 

use Zend\Mvc\Controller\AbstractActionController; 
use Zend\View\Model\ViewModel; 
use Zend\Feed\Writer\Feed; 
use Zend\View\Model\FeedModel; 

class BlogController extends AbstractActionController 
{ 
    // other action methods 

    public function atomAction() 
    { 
     $feed = new Feed; 
     // set feed data 
     $feed->export('atom'); 

     $feedModel = new FeedModel(); 
     $feedModel->setFeed($feed); 
     return $feedModel; 
    } 
} 

當我請求的頁面,我得到:

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

爲什麼它仍然試圖使用Zend\View\Renderer\PhpRenderer而不是Zend\View\Renderer\FeedRenderer

+2

也許是因爲你寫的'stratgies',而不是'strategies'? – markus 2013-02-10 11:21:17

+0

或者也許是因爲您的替代策略沒有優先於默認策略?您可能想要將偵聽器從默認策略中分離出來。 – markus 2013-02-10 11:22:19

+0

,typoe會這麼做:) – Andrew 2013-02-11 17:09:01

回答

0

'strategies',不'stratagies'

而且'ViewFeedStrategy',不'ViewFeedStratagy'

相關問題