ZF2 - Controller中多个操作的相同视图文件

时间:2012-10-11 06:33:57

标签: php zend-framework2

我使用ZF2,我需要在添加和编辑操作中呈现相同的视图(html页面)。有没有办法在ZF2中做到这一点?

2 个答案:

答案 0 :(得分:13)

在控制器中,您可以设置要渲染的视图脚本:

function someAction()
{
    $result = new ViewModel();
    $result->setTemplate('somemodule/somecontroller/arbitraryscript');

    return $result;
}

答案 1 :(得分:4)

如果您想为所有操作设置一个模板,只需重写您的construtor方法:

<?php
namespace MyModel\Controller;

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

class IndexController extends AbstractActionController
{
    /**
     * @var ViewModel
     * @access protected
     */
    protected $viewModel;

    public function __construct()
    {
        $this->viewModel = new ViewModel();
        $this->viewModel->setTemplate('MyModel/index/default.phtml');
    }

    public function indexAction()
    {
        $this->viewModel->setVariables(array(
            'message' => 'Hello indexAction()'
        ));
        return $this->viewModel;
    }

    public function otherAction()
    {
        return $this->viewModel->setVariables(array(
            'message' => 'Hello otherAction()'
        ));
    }
}
相关问题