Dans certains cas, avec ezPublish, il est nécessaire d'utiliser un pagelout spécifique pour, par exemple, ne pas afficher l'ensemble du layout d'une page ou utiliser un style css particulier. Aussi, dans le cadre d'une requête Ajax, il n'est pas nécessaire de retourner tout le code HTML du site, seul celui généré par le template concerné est requis (d'ailleurs retourner la structure HTML complète de la page peut poser problème dans certains cas).

Pour parvenir à changer le pagelayout d'une page, il faut tout d'abord créer le pagelayout en question (specific_pagelayout.tpl dans notre exemple) dans le dossier "design" de votre extension. Ensuite, deux options sont possibles :

  1. Si vous êtes dans un module custom (développé par vos soins)

Il vous suffit d'insérer le code suivant dans le fichier PHP de votre module :

 $Result['pagelayout'] = 'design:specific_pagelayout.tpl';
  1. Si vous utilisez le module content/view du kernel : 

Vous pouvez utiliser la vue "set" du module "layout". Cette vue permet de forcer le système à utiliser un différent pagelayout de celui par défaut.
Tout d'abord, surchargez le fichier layout.ini (copiez le et renommez le en "layout.ini.apend.php") et ajouter les lignes suivantes :

# nom du layout
[specific_pagelayout]
# fichier du pagelayout
PageLayout=specific_pagelayout.tpl

Pour charger une vue full avec ce pagelayout, appellez la via une URL du type : http://monDomaine/layout/set/specific_pagelayout/content/view/full/nodeID.


Les applications sont multiples et variées, en voici quelques exemple :

  • appel Ajax
  • ouverture d'un template dans une popin/popup
  • style CSS d'impression
  • version responsive design d'une page spécifique