- 不用 layout
在Action裡面使用$this->_helper->layout()->disableLayout() ; $this->getHelper('layout')->disableLayout();
- 不用 view render(不輸出script資料夾裡面的樣版)
在Action裡面使用 $this->_helper->viewRenderer->setNoRender() ; $this->getHelper('viewRenderer')->setNoRender();
- 自訂Action Helper
http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelper.broker
先在index.php裡面設定action helper資料夾Zend_Controller_Action_HelperBroker::addPath( '資料夾路徑', 'Class Prefix');
使用時$obj = Zend_Controller_Action_HelperBroker::getStaticHelper('class名稱');
- 在layout裡面取得Controller和Action名稱
Zend_Controller_Front::getInstance()->getRequest()->getControllerName(); Zend_Controller_Front::getInstance()->getRequest()->getActionName();
- redirect
http://framework.zend.com/manual/1.12/en/zend.controller.action.html#zend.controller.action.utilmethods
//轉向後,馬上exit(),後面的程式碼不會執行 $this->_redirect('shop',array('exit'=>TRUE));
http://framework.zend.com/manual/1.12/en/zend.controller.actionhelpers.html#zend.controller.actionhelper.redirector.basicusage$this->_redirector->redirectAndExit();
- partial,小區塊view在不同頁面重覆使用 ex1:module的view重覆使用aa.phtml (檔案建立在 module/deault/view/script/aa.phtml)
//例如在 module/deault/view/script/index/index.phtml .... <?php echo $this->partial('aa.phtml'); ?> ...ex2:layout重覆使用 bb.phtml (檔案建立在 layouts/partial/bb.phtml)
//例如在 layouts/layout.phtml .... <?php echo $this->partial('partial/bb.phtml') ?> ...ex3:變數傳遞
//例如在 layouts/layout.phtml .... <?php echo $this->partial('cc.phtml', array('var1'=>'aa', 'var2'=>'bb',...)) ?> ...
相關連結:
Zend Framework 2 常用備忘
沒有留言:
張貼留言