Zend framework2 如何在ZF2的控制器动作中呈现不同的视图

Zend framework2 如何在ZF2的控制器动作中呈现不同的视图,zend-framework2,Zend Framework2,如何在控制器操作中呈现不同于默认值的视图。默认情况下,它会尝试在视图文件夹中查找与操作相同的视图,但我希望在视图文件夹中呈现不同的视图,以便控件操作 我们可以像这样执行ZF1$this->\u helper->viewRenderer('foo') 有人知道如何在ZendFramework2中实现上述目标吗 我们可以使用禁用视图 $response = $this->getResponse(); $response->setStatusCode(200);

如何在控制器操作中呈现不同于默认值的视图。默认情况下,它会尝试在视图文件夹中查找与操作相同的视图,但我希望在视图文件夹中呈现不同的视图,以便控件操作

我们可以像这样执行ZF1
$this->\u helper->viewRenderer('foo')

有人知道如何在ZendFramework2中实现上述目标吗

我们可以使用禁用视图

$response = $this->getResponse();
        $response->setStatusCode(200);
        $response->setContent("Hello World");
        return $response;
我不知道如何在zf2中更改/渲染不同的视图。

可以使用

public function abcAction()
{
    $view = new ViewModel(array('variable'=>$value));
    $view->setTemplate('module/controler/action.phtml'); // path to phtml file under view folder
    return $view;
}

感谢您几乎涵盖了所有场景

我在Zend Framewor 2中的解决方案很简单。对于index操作,我更喜欢调用parrent::indexAction()我们扩展的构造函数bcsZend\Mvc\Controller\AbstractActionController。或者只在索引操作中返回数组()。ZF将自动返回index.pthml,但不定义必须返回的内容

返回新的ViewManager()是相同的返回数组()


现在,我们如何访问视图中的“变量”值?我们可以直接使用视图中的$varibale变量进行访问-感谢您注意,您不需要添加.phtml后缀,只需模块/控制器/操作即可
<?php

 namespace Test\Controller;

 use Zend\Mvc\Controller\AbstractActionController,
     Zend\View\Model\ViewModel;

 // Or if u write Restful web service then use RestfulController
 // use Zend\Mvc\Controller\AbstractRestfulController

 class TestController extends AbstractActionController
 {
    /*
     * Index action
     *
     * @return main index.phtml
     */

     public function indexAction()
     {
          parent::indexAction();

          // or return new ViewModel();
          // or much simple return array();
     }

    /*
     * Add new comment
     *
     * @return addComment.phtml
     */

     public function addAction()
     {
         $view = new ViewManager();
         $view->setTemplate('test/test/addComment.phtml');  // module/Test/view/test/test/

      return $view;
     }
  'view_manager' => array(
        'template_path_stack' => array(
            'Test' => __DIR__ . '/../view',
        ),
    ),