Zend_Layout options de configurationZend_Layout possède quelques options. Vous pouvez les spécifier grâce à des accesseurs.
Autrement, en passant un tableau ou un objet Zend_Config au constructeur, ou à startMvc().
Un tableau d'options peut aussi être passé à setOptions(), un objet Zend_Config peut être
passé à setConfig(). Les options de configuration sont les suivantes :layout : le nom du script de layout. L'inflecteur traduit alors ceci en nom de
fichier. Par défaut, il s'agit de "layout" traduit vers "layout.phtml". Les accesseurs sont
setLayout() et getLayout().layoutPath : l'url de base vers les scripts de layout. Les accesseurs sont
setLayoutPath() et getLayoutPath().contentKey : la variable de layout utilisée pour accéder au contenu par défaut
(lorsqu'utilisée couplée avec MVC). La valeur par défaut est "content". Pour les accesseurs :
setContentKey() et getContentKey().mvcSuccessfulActionOnly : si une action envoie une exception et que cette option
vaut true, alors le layout ne sera pas rendu. (Ceci évite un double rendu alors que le plugin
ErrorHandler est activé). Par défaut
cette option est à true. Ses accesseurs : setMvcSuccessfulActionOnly() et
getMvcSuccessfulActionOnly().view : l'objet de vue (Zend_View) utilisée par le layout pour rendre
son script. Utilisé avec MVC, Zend_Layout cherchera à récupérer la vue via l'aide ViewRenderer, si aucun objet de vue ne lui est
passé explicitement. Les accesseurs sont setView() et getView().helperClass : la classe représentant l'aide d'action lorsque
Zend_Layout est utilisé avec les composants MVC. Par défaut il s'agit de
Zend_Layout_Controller_Action_Helper_Layout. Les accesseurs sont setHelperClass()
et getHelperClass().pluginClass : la classe représentant le plugin de contrôleur frontal lorsque
Zend_Layout est utilisé avec les composants MVC. Par défaut, il s'agit de
Zend_Layout_Controller_Plugin_Layout. Les accesseurs sont setPluginClass() et
getPluginClass().inflector : l'inflecteur utilisé pour la résolution des noms de layout vers les
scripts de layout. Voyez la documentation spécifique pour
plus de détails. Les accesseurs sont setInflector() et
getInflector().Vous devez passer les helperClass et pluginClass à startMvc()Pour que les paramètres helperClass et pluginClass agissent, vous devez les
passer en options à startMvc(). Si vous les spécifiez après, ils seront ignorés.ExemplesLes exemples sont basés sur les paramètres $options et $config suivants : 'foo',
'layoutPath' => '/chemin/vers/layouts',
'contentKey' => 'CONTENT'
// ignorés si MVC n'est pas utilisé
);
]]>Passer des options au constructeur ou à startMvc()Le constructeur et la méthode statique startMvc() acceptent soit un tableau d'options,
soit un objet Zend_Config.Voyons le cas du tableau :Et maintenant avec l'objet de configuration :C'est la manière la plus simple de configurer votre objet Zend_Layout.Utilisation de setOptions() et setConfig()Pour configurer Zend_Layout après l'avoir instanciée, utilisez les méthodes
setOptions() et setConfig() sur l'objet :setOptions($options);
// Utilisation d'un objet Zend_Config:
$layout->setConfig($options);
]]>Notez cependant que certaines options comme pluginClass et helperClass
n'auront aucun effet avec ses méthodes. Elles doivent être passées au constructeur ou à la méthode
startMvc().Utilisation des accesseursEnfin, vous pouvez aussi configurer votre objet de Zend_Layout grâce à ses accesseurs.
Ils peuvent s'utiliser chaînés (interface fluide):setLayout('foo')
->setLayoutPath('/chemin/vers/layouts')
->setContentKey('CONTENT');
]]>