【问题标题】:Why is my ZF2 MVC App Using PhpRenderer instead of FeedRenderer?为什么我的 ZF2 MVC 应用程序使用 PhpRenderer 而不是 FeedRenderer?
【发布时间】:2013-02-10 10:26:55
【问题描述】:

我有一个扩展 Zend\Mvc\Controller\AbstractActionController 的控制器类。我想要一种操作方法来生成原子提要。

我在 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
  • 或者可能是因为您的替代策略没有优先于默认策略?您可能希望将侦听器与默认策略分离。
  • 那个错别字会这样做:)
  • 您能否回答您自己的问题并将其标记为已接受?现在这个问题在解决方案可用时仍然得到解答。
  • 但是如果解决方案在评论中,我如何将其标记为已回答?

标签: php zend-framework2 atom-feed uncaught-exception


【解决方案1】:

'strategies',不是'stratagies' ;)

也是'ViewFeedStrategy',不是'ViewFeedStratagy'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-10
    • 2016-05-23
    • 2019-08-22
    • 2016-01-10
    • 2013-01-29
    • 2022-01-10
    • 1970-01-01
    • 2020-03-04
    相关资源
    最近更新 更多