zendframework 禁用view和layout

在zend framework中使用layout布局之后,有些action中不需要view或者layout所有可以用下面方法禁用view和layout:

$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();

 

Zend_Controller 中禁用 view

在 Action 级别禁用 view:

1
2
3
4
5
6
7
8
9
<?php
class FooController extends Zend_Controller_Action
{
     public function barAction()
     {
          $this ->_helper->viewRenderer->setNoRender();
     }
}
?>

在执行当前 action 的时候会不会展示 view .

在 Controller 级别禁用 view:

1
2
3
4
5
6
7
8
9
<?php
class FooController extends Zend_Controller_Action
{
     public function init()
     {
          $this ->_helper->viewRenderer->setNoRender();
     }
}
?>

在执行当前 controller 下的所有 action 的时候都不会展示 view .

全局级别禁用 view:

1
2
3
<?php
Zend_Controller_Front::getInstance()->setParam( 'noViewRenderer' , true);
?>

在整个程序的执行过程中都不会展示 view .

在 Controller 中禁用或改变 layout

禁用 layout

1
2
3
4
5
6
7
8
9
<?php
class FooController extends Zend_Controller_Action
{
     public function barAction()
     {
         $this ->_helper->layout->disableLayout();
     }
}
?>

在此 action 执行的时候将不会使用 Zend_Layout 。

改变 layout

1
2
3
4
5
6
7
8
9
<?php
class FooController extends Zend_Controller_Action
{
     public function barAction()
     {
         $this ->_helper->layout->setLayout( 'other' );
     }
}
?>

在此 action 执行的时候将使用名为 other 的 layout 。

你可能感兴趣的:(zendframework 禁用view和layout)