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
?
也許是因爲你寫的'stratgies',而不是'strategies'? – markus 2013-02-10 11:21:17
或者也許是因爲您的替代策略沒有優先於默認策略?您可能想要將偵聽器從默認策略中分離出來。 – markus 2013-02-10 11:22:19
,typoe會這麼做:) – Andrew 2013-02-11 17:09:01