Tambien en estos casos, creo que se podría utilizar el ResponseSegment.
Este es un ejemplo que tengo en un sitio, si bien no es un menu como el de la pregunta, creo que a modo de ejemplo está bastante claro. Como ven es para saber si un usuario está logueado.
en el controller:
Código PHP:
$auth = Zend_Auth::getInstance();
if($auth->hasIdentity())
$menu[] = array('title'=>'Log out','url'=>$this->view->url(array('controller'=>'auth','action'=>'logout')),null,true);
else
$menu[] = array('title'=>'Log In','url'=>$this->view->url(array('controller'=>'auth','action'=>'identify')),null,true);
$this->view->menu = $menu;
$this->_helper->viewRenderer->setResponseSegment('menu');
}
en el layout:
Código PHP:
$this->layout()->menu;