Zend Framework 2 – Comment utiliser une vue / layout d’un module différent que celui où vous vous trouvez actuellement

Nous allons utiliser comme base l’exemple du ZendSkeletonApplication qui se trouve être le getting started fournit par Zend Framework 2 sur leur site ou directement sur github.

Vous pouvez constater que vous avez un dossier module et dans lequel vous avez Application (ZendSkeletonApplication/module/Application/)

Dans le dossier src puis Application et ensuite Controller vous avez l’IndexController (ZendSkeletonApplication/module/Application/src/Application/Controller/)
Voici un exemple de mon IndexController:

La partie qui est importante est:

En gros, on définit une nouvelle vue s’appelant « view » qui nous servira de base.
Ensuite nous définissions une nouvelle vue qui s’appelle $loginView.
On définit vers quel vue cette vue nous renvoie (quel template).
Dans notre cas, pmtime/index.

Mais qu’est-ce que pmtime/index? Comment le définit-on?

Très simple, dans le module.config.php se trouvant dans le dossier config de votre application (ZendSkeletonApplication/module/Application/config/)
Cherchez la partie « view_manager » (copie de la partie du mien ci-dessous):

Pour définir, le pmtime/index vu au dessus dans notre controleur il suffit de l’ajouter dans template_map ainsi que le chemin où se trouve le layout.
Dans mon cas j’ai une vue dans un module différent qu’application et cela donne:

Pour finir dans le controleur on assigne la vue à un nom de variable:

Pour afficher ensuite cette vue c’est très simple.
Par défaut, l’application va afficher l’index.phtml de l’application (ZendSkeletonApplication/module/Application/view/application/index/)
Voici mon index.phtml ci-dessous:

Pour afficher dans l’index.phtml la vue de mon autre module il me suffit de faire

Puisque j’ai assigné à ma variable login la vue.

Et voila, tout devrait fonctionner, si vous avez des questions suite à ce petit bout de tuto. n’hésitez pas.

Commencer avec Zf2 – Part 2

Je ne vais pas refaire les tutoriaux existants mais plutôt vous inviter a les suivre et mentionner certains conseils.

Après avoir configurer et installer son environnement Zend, on a donc dans le dossier « module » le module Application.

Nous voulons tester Zf2, pour ca le module Album est parfait car c’est un CRUD cycle (Create, Read, Update and Delete Cycle).
Il est d’ailleurs décrit dans la documentation officielle :
http://framework.zend.com/manual/2.0/en/user-guide/modules.html

Si vous préférez des explications en francais vous avez ce tutorial, il est bien fait mais méfiez vous du code affiché, car il a été fait pour la version beta.
http://zend-framework.developpez.com/tutoriels/zend-framework/demarrer-avec-zend-framework-2/#LII

Personnellement j’ai pris le code sur ce lien pour eviter de se taper tous a la main et éviter les erreurs :
https://github.com/zendframework/zf2-tutorial

Seule les fichiers de configuration pour l’accès à la base de donnée sont à créer. Le fichier global.php et local.php remplacent les fichiers .ini de Zf1.
Pour ca moi j’ai suivi la configuration donnée sur la documentation de zend framework ci-dessous :
http://framework.zend.com/manual/2.0/en/user-guide/database-and-models.html

Attention dans Zf2, il faut faire gaffe au url si on met un slash a la fin d’un controller ou d’une action, on obtient une page 404.

Normalement avec ces informations vous arriverez à mettre en place votre premier module.

Source :

–          Merci à l’auteur de ce module « Rob Allen », c’est une pointure dans le domaine. Voici son site http://akrabat.com/

–          Github est formidable pour trouver des exemples de module ou d’application zend : https://github.com/zendframework/