2

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

4

2 回答 2

13

在您的控制器中,您可以设置将要呈现的视图脚本:

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

    return $result;
}
于 2012-10-11T06:45:15.347 回答
4

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

<?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()'
        ));
    }
}
于 2014-01-13T21:37:31.797 回答