When you render views, there's a sort of "stack" that the view renderer looks at for paths to your view scripts. The order that you add script paths to the view determines the look-up order. So:
$view = new Zend_View();
$view->addScriptPath(APPLICATION_PATH . "/default/views/scripts/")
->addScriptPath(APPLICATION_PATH . "/modules/module/views/scripts/");
In the above, it'll first look in "/modules...", then "/default...", and then it'll actually look for the view in the current directory the script is running in for your view script.
You can also add layout paths using the same method. One other tip that I found useful was changing the viewScriptPathSpec
, which tells the view the file path to render:
$this->_helper->viewRenderer->setViewScriptPathSpec(":controller/:action.:suffix");
This is the default setting I believe, but you can change it if you like. For example, I have a CMS module that, no matter what the controller name is, it always renders the scripts in the "crud" view script folder:
$this->_helper->viewRenderer->setViewScriptPathSpec("crud/:action.:suffix");