2012-10-11 2 views

답변

13

, 당신은 렌더링되는 뷰 스크립트를 설정할 수 있습니다

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

    return $result; 
} 
+1

를하시기 바랍니다 정면이 그것을 잡을 수 있도록 ViewModel을 반환하는 것을 명심하십시오. "return $ result;"를 추가하십시오. 끝까지. – Siwei

+0

Siwei의 의견에 따라 업데이트했습니다. –

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()' 
     )); 
    } 
} 
관련 문제