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.
Exemples
Les 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 accesseurs
Enfin, 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');
]]>