A meno che non ne esista una versione più aggiornata di quella che conosco, buona parte del libro ZFiA non è più valido.
In ogni caso ti consiglio di inizializzare nel file di configurazione le tue risorse, per la view
codice:
resources.view.encoding = "UTF-8"
resources.view.basePath = APPLICATION_PATH "/views/"
resources.view.helperPath.My_View_Helper = "My/View/Helper"
[...]
Puoi vedere in Zend/Application/Resource tutte le risorse che è possibile configurare da file di configurazione.
Volendo, estendendo Zend_Application_Resource_ResourceAbstract è possibile crearsi le proprie risorse configurabili.
Possibilmente non usare i plugin per la configurazione.
Come modello di layout ti consiglio di utilizzare qualcosa del genere
codice:
<?php echo $this->doctype(''); ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<?php echo $this->headMeta() ?>
<?php echo $this->headTitle() ?>
<?php echo $this->headLink() ?>
<?php echo $this->headStyle() ?>
<?php echo $this->headScript() ?>
</head>
<body>
<div id=wrapper">
<?php echo $this->render('header.phtml');?>
<?php echo $this->layout()->content;?>
<?php echo $this->render('footer.phtml');?>
</div>
<?php echo $this->inlineScript();?>
</body>
</html>
Il metodo render() renderizza la view script passata a parametro senza dover fare assegnazioni nel controller.
Puoi avere differenti file di layout in base alle tue esigenze, ed impostare quale richiamare per uno specifico Controller o Controller-Action usando setLayout()
Codice PHP:
// in una action
$this->_helper->layout()->setLayout('nomelayout');
Per la gestione dei menu usa Zend_Navigation, è configurabile da file XML e genera automaticamente un menù o una breadcrumbs.
Se hai costruito a mano l'albero dell'applicazione ti consiglio di provare anche l'autogenerazione di un progetto 'hello world' utilizzando Zend_Tool.
Ciao