Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 28-10-2007 20:07:22

exotux
Membre
Lieu: Toulouse
Date d'inscription: 02-09-2007
Messages: 16
Site web

[Zend_View][1.0.2] Système complexe de vues

Bonsoir,

J'aimerai savoir si il est possible "d'insérer des vues dans des vues". J'essaye de réaliser une pseudo interface d'administration.

Cette interface doit disposer d'une en-tête, d'un pied de page, d'un menu et enfin d'une zone qui change en fonction du module demandé.

J'ai du mal à comprendre comment je peux organiser tout ceci pour m'éviter de faire de multiple $this->render('vue.phtml') sur chacune des vues de mes modules.

En gros pour 1 module j'ai 5 insertions de vues, je me retrouve pour 5 modules avec 25 insertions de vues.

L'idéal serait d'avoir un système de gabarit je pense.

Merci d'avance.

Hors ligne

 

#2 28-10-2007 20:28:52

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Zend_View][1.0.2] Système complexe de vues

j'ai posté il y a quelque temps un article sur comment utiliser des moteurs de templates le lot j'expliquais comment faire un système de vue qui utilise une main page qui inclus son contenu au lieu de multiple pages qui incluent des header et footer.

mais depuis est sorti Zend_Layout qui est fait pour mais que je n'ai pas eu le temps d'essayer

A+JYT
http://sekaijin.ovh.org/?p=13 voir le paquage joint et le moteur appelé phtml

Hors ligne

 

#3 04-11-2007 21:15:42

exotux
Membre
Lieu: Toulouse
Date d'inscription: 02-09-2007
Messages: 16
Site web

Re: [Zend_View][1.0.2] Système complexe de vues

Zend_Layout n'est pas encore sortie visiblement et je ne trouve surtout aucune documentation. Je vais donc devoir attendre. Mais merci pour la réponse wink

Hors ligne

 

#4 05-11-2007 11:30:17

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zend_View][1.0.2] Système complexe de vues

Pour ce qui est de l'entête et du  pied de page, j'ai créé 2 classes qui pourraient t'aider. Le menu va dans l'entete en général (meme s'il est sur la gauche, ça se fait en css)...
Regarde le lien ci-dessous.

Hors ligne

 

#5 05-11-2007 11:35:03

Moimeme
Membre
Date d'inscription: 19-04-2007
Messages: 120

Re: [Zend_View][1.0.2] Système complexe de vues

Tout le monde en parle et doit se pencher sur Zend_Layout, vivement que l'on ai quelque chose à se mettre sous la dent...

Hors ligne

 

#6 05-11-2007 12:09:30

Cyrano
Membre
Lieu: Paris
Date d'inscription: 25-05-2007
Messages: 57
Site web

Re: [Zend_View][1.0.2] Système complexe de vues

Salut,
je patinais depuis pas mal de temps sur cette question. Je ne sais pas si j'utilise la bonne manière de faire (en attendant les layout du ZF) mais j'ai fini par découvrir un peu par hasard que c'est relative simple. Malheureusement, je n'ai trouvé ça dans aucun tuto et pas davantage dans la doc en ligne.

Le but que je poursuivais était l'ajout d'un menu pouvant être modifié dynamiquement selon la page affichée. Or je ne voulais pas pourrir mon controleur. J'ai fouillé du coté des helpers pour finalement découvrir qu'à la base, pour insérer une vue dans une autre vue, il suffit simplement de faire ceci :

Code:

...
  </head>
  <body><?php echo($this->render('menu.phtml')); ?>
    <div id="content">
...

Dans la mesure où le script est trouvé par le ZF, il sera inséré. Ça, c'est la base.

Ensuite pour le rendre dynamique, je me suis tourné vers les helpers en essayant de décortiquer la doc sur le sujet.

Dans mon indexController, j'ai donc simplement ajouté ceci dans la méthode init():

Code:

<?php
//.....
        /* Définition des répertoires où trouver les helpers. */
        $racineVuesHelpers = $_SERVER['DOCUMENT_ROOT'] . $this->view->baseUrl . self::SR .'application'. self::SR .'vues'. self::SR .'aides';
        /* Ajout d'un helper pour le menu (... test ...) */
        $this->view->setHelperPath($racineVuesHelpers, 'modules_View_Helper');
        /* Cération du menu de navigation */
        $this->view->liensNav = $this->view->afficherMenu($this->_request->getActionName());
//...

Et dans mon helper, je construis le menu en fonction de l'ction en cours.

Alors je ne suis pas un gourou du ZF, loin s'en faut et les spécialistes proposeront peut-être quelque chose de plus simple, mais en attendant j'obtiens ce que je veux et mon menu s'affiche correctement. C'est basé sur ce qui est expliqué dans la doc (lien cité plus haut)


Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends.
B. Franklin.

Hors ligne

 

#7 05-11-2007 14:57:09

Laurent
Membre
Date d'inscription: 23-04-2007
Messages: 15

Re: [Zend_View][1.0.2] Système complexe de vues

Pour gérer les "layouts", j'utilise la solution de Rob Allen, c'est à dire une classe qui surcharge ViewRenderer.
Voir son blog: http://akrabat.com/2007/06/02/extending … r-layouts/
Cette solution me parait plus simple et plus légère que Zend_Layout. Cela permet d'avoir autant de "layout" que l'on veut, d'avoir un "layout" par défaut et d'en changer dans les actions quand nécessaire.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages