I am playing with zend framework's MVC. One thing I found out is that Zend Framework tries to include a view script whenever a controller is called. I can disable it in bootstrap with the following code.
$frontController->setParam('noViewRenderer',true);
However, I have to initialize Zend_View class in a controller method then render a script file myself.
How can I stop including a view script in a controller method so I can disable it if only I want to?
you can disable the view renderer controller helper, with this code in your controller:
public function myAction()
{
$this->_helper->viewRenderer->setNoRender(true);
// from now on, ZF won't search for a matching view script file.
}
The best example would be to use both commands above:
public function myAction() {
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
}
First one disables layout,in general is enabled
application.ini
default
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
$this->_helper->layout->disableLayout();
and second disables view script (.phtml) so exception is not thrown if view script file is not found
$this->_helper->viewRenderer->setNoRender(true);
There are also view helpers that include bouth listened abowe and are not necessary, for example you want to return JSON from array data and not render view element.
public function myAction() {
$this->_helper->json(array());
}
will not render layout nor view script.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With