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

また、すべてのアクションに1つのテンプレートを設定する場合は、コンストラクターメソッドを書き直してください。

<?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 に答える