Création de plans (layouts) avancés
1. Gestion des modèles Plan:modèle
En fonction des cas d’utilisation, il peut être pratique de disposer de templates (modèles) communs à plusieurs contrôleurs. Ces modèles peuvent se placer après ou avant le layout du contrôleur.
Exemple de cas concret
Un site d’e-commerce propose deux facettes du site :
-
des clients qui veulent acheter des produits ;
-
des vendeurs qui proposent leurs produits.
Ces deux typologies provoquent des interfaces différentes en fonction de l’utilisateur. Cependant, une partie des contrôleurs servent une partie de la population et une autre partie les vendeurs. Ceci engendre deux groupes de layouts : un pour le client, et un pour le vendeur.
Usage
Pour ajouter ces modèles communs à plusieurs contrôleurs, il faut les créer dans le répertoire app/views/layouts/.
Après les avoir créés, il faut les définir dans les contrôleurs ciblés.
Syntaxe d’ajout d’un template
public function initialize()
{
$this->view->setTemplateAfter('<nom du layout>');
$this->view->setTemplateBefore('<nom du layout>');
}
En suivant l’ordre d’affichage présenté dans la section précédente, la fonction setTemplateAfter permet de placer le layout choisi après celui du layout du contrôleur. Avec...