我使用ZF2,我需要在添加和编辑操作中呈现相同的视图(html页面)。有没有办法在ZF2中做到这一点?
答案 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()'
));
}
}