Zend Framework で Smarty をレンダリングする方法

勘違いしていた・・。
前回 Smarty で Layout 機能を使って、テンプレートを表示する場合に、以下の様に書いた。

<?php
    /**
     * postDispatch 
     * 
     * @access protected
     * @return void
     */
    public function postDispatch()
    {   
        parent::postDispatch();
        $contents   = $this->view->render($this->_contents);
        
        $this->view->setScriptPath($layout);
        $this->view->assign('contents', $contents);
        echo $this->view->render($layout);
    }

viewRenderer->setNoRender(); で自動レンダリング
オフにした場合は、自分でレンダリングしないといけない。


最後の echo $this->view->render($layout);
という書き方が規約通りでなかった。


ドキュメントを読むと、レスポンスオブジェクトに
突っ込むのが正しいようだ。
http://framework.zend.com/manual/ja/zend.controller.response.html

という訳で次の様に書かなくてはいけないみたい。

<?php
    $this->getResponse()
        ->setBody($this->view->render($layout));

うーむ。。。まだまだドキュメントの読み方が甘い。。。orz