Comment choisir son framework : view / layout – zend framework 2

Introduction
Dans un précédent billet, je vous ai présenté l’initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.

But de ce billet : Zend Framework 2
Dans ce billet, nous allons essayer de comprendre comment s’organise la création de page avec chaque framework:
Pour rappel, dans un site web, on à un template général, appelé « layout », qui contient notre bandeau/logo, nos menus de navigation ainsi qu’une partie dynamique: le contenu de notre site.
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisit quel template de vue utiliser pour l’affichage de notre contenu.

Voilà la page que nous allons étudier ici:
layoutViewSite

On peut voir 4 zones:

  • Le bandeau
  • La navigation des catégories
  • La navigation des derniers posts
  • Le contenu dynamique

layoutViewSite2

Le layout
Pour afficher la page d’accueil, on appelle la classe controller PostController:
/module/Blog/src/Blog/Controller/PostController.php
tree-module-post

Il n’y a pas d’indication sur le layout à charger, par défaut c’est : layout.phtml
Pour le modifier:
codeSelectLayout
Revenons à notre layout par défaut, voyons à quoi il ressemble:
Pour information, il se situe ici:
/module/Blog/view/layout/layout.phtml
tree-layout

code-layout

On retrouve ici un appel partiel au layout « navbar », , un emplacement pour le contenu dynamique (qui contiendra le contenu) plus un autre appel partiel à « sidebar » qui contiendra la navigation des catégories + celle des derniers posts (+ une condition pour gérer le cache de ce menu)

Le layout partiellement chargé layout/navbar
tree-layout-navbar

Mais ce qui est plus intéressant c’est layout/sidebar (notre fameux menu des catégories et derniers posts)
tree-layout-sidebar

code-view-sidebar

Note: par défaut, ces menus sont vides car chargé à partir du layout principal avec tableau posts et categories à vide (simple array)
note 2: je ne sais pas comment on pourrait lui passer la vrai liste des posts et categories :(

La/les vues
Lorsque l’on regarde l’action appelée pour afficher cette page d’accueil:
code-controller-index

On suppose par convention qu’il appelle la vu du même nom
/module/Blog/view/blog/post/index.phtml
tree-view-iindex

code-view-index

Retour au sommaire

Laisser un commentaire