拡張するコントローラークラスがありますZend\Mvc\Controller\AbstractActionController
。アトム フィードを生成するアクション メソッドの 1 つが必要です。
ViewFeedStratagy
私はmodule.config.phpで有効にしました:
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
ですか?