Desconheço uma forma de comunicar um Plugin com uma View, mas você poderia extender a classe Zend_Controller_Action e sobrescrever o init(), para que este possa capturar o nome do controller e enviar para a View.
- Código: Selecionar tudo
//Captura o nome do controller
$this->getRequest()->getModuleName();
// Captura o nome do controller
$this->getRequest()->getControllerName();
//Captura o nome da action
$this->getRequest()->getActionName();
A partir daí, você poderia criar uma classe que extenda a Zend_Controller_Action:
- Código: Selecionar tudo
class ControllerNameToView extends Zend_Controller_Action{
public function init(){
$this->view->controller = $this->getRequest()->getControllerName();
}
}
E criar todos os seus controller extendendo esta nova classe:
- Código: Selecionar tudo
class IndexController extends ControllerNameToView{ ... }
Como a classe filha(ControllerNameToView) tem muito pouca diferença em relação à classe pai(Zend_Controller_Action), a diferença de carregamento é imperceptível.
OBS: O nome do controller será recuperado em lower case.