2012-10-11 42 views

回答

13

在你的控制器,你可以設置將被渲染視圖腳本:

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

    return $result; 
} 
+1

請請記住返回ViewModel,以便前端可以捕獲它。添加「返回$結果;」到最後。 – Siwei

+0

我已根據Siwei的評論進行更新。 –

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()' 
     )); 
    } 
} 
相關問題