2010年2月9日火曜日

Zend_Layoutの制御

Zend_Layoutの制御の仕方をなんとくなくメモ

  ・Zend_Layoutオブジェクトを取得
        i)どこでも
            $layout = Zend_Layout::getMvcInstance();
        ii)ActionControllerから(その1)
            $layout=$this->_helper->layout;  
        iii)ActionControllerから(その2)
            $layout=$this->_helper->getHelper('layout');

    ・Zend_Layoutを無効にする
        $layout->disableLayout();
    ・Zend_Layoutを変更
        $layout->setLayout('nomal');

    ViewHelperの中には、LayoutやViewを自動的に無効にしてくれるものもある。
    Zend_View_Helper_Jsonなど



Viewにヘルパーを追加するようなときに必要になると思うので、ついでにZend_Viewの取得方法もついでにメモ。

Zend_Viewを使用しないと明示しない限り、自動的にZend_Viewは生成されているので、生成されているインスタンスを取得する方法をなんとなく列挙。

i)コントローラから
 $this->view
ii)どこでも
Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setNoRender(true);

iii)Bootstrap内で
$this->bootstrap('view');//一度初期化しておいたほうが間違いがない。
$this->getResource('view');    


他にもあるかも知れないけど、まぁこんなもんで。

0 件のコメント: