|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Mathieu Développeur Web Inscription : mars 2008 Messages : 12 ![]() |
Bonjour à tous,
Je débute en Zend et je poste ici car je ne trouve que des exemples trop pointus ou des exemples qui ne correspondent pas à mon besoin. Savez-vous comment on peut afficher différents blocs (issus à priori de différentes vues) dans une même page ? Je cherche à convertir une application qui utilise un système de templates ancien et rudimentaire. Donc l'idée est comment faire du ré-use de portions de code dans différentes présentations de pages. Typiquement une fiche produit, un bloc d'actualité, un bloc d'infos dans une même page avec éventuellement des conditions sur ces différents blocs. Je ne trouve que des exemples de pages "simple" avec un simple formulaire typiquement inclus dans un layout global. Merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
Regarde au niveau de partial dans la documentation
http://framework.zend.com/manual/fr/...w.helpers.html |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Étudiant Inscription : juin 2008 Messages : 70 ![]() |
Utilise l'aide de vue "partial()" avec parcimonie, si c'est pour des rendus simples, je te conseille plutôt d'utiliser directement la méthode "render()", moins gourmande en ressource.
performance de rendu (doc) |
|
00
|
|
|
#4 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
Render et partial n ont pas du tout le même but.
Un pour plusieurs vue l autre pour une seule |
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Étudiant Inscription : juin 2008 Messages : 70 ![]() |
Citation:
Il serait dommage que tu induises en erreur les personnes qui ont besoins de réponses... Si tu dis : 1) que la méthode "render()" de Zend_View ne peux réaliser qu'un seul rendu par exécution. 2) que l'aide de vue "partial" (quand à elle) peut être utilisée plusieurs fois dans tes scripts. 3) que c'est à ce niveau que leur utilisation est différente. Alors, je te conseille de te renseigner un peux plus en profondeur (surtout avant de contredire quelqu'un... ).- Le but de la méthode "render()" est de faire un rendu,(elle est d’ailleurs proxiée par Zend_Controlleur_Action). - Le but de l'aide de vue "partial" est de faire un rendu partiel au niveau d'une vue. Elles sont toutes les deux utilisables dans les scripts de vue et toutes les deux utilisables plusieurs fois dans les scripts. L'une des réelles différences réside dans la portée des variables utilisées dans la vue partielle. Car "partial" va cloner l'objet Zend_View (très gourmand) afin de fournir une portée de variables limitée au script partiel alors que la méthode "render()" utilise l'objet Zend_View initial. Pour faire plus simple je vais citer la doc (le lien de mon dernier post)... Citation:
Bilan: privilégier "render" quand cela est possible. |
||
|
00
|
|
|
#6 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
Tu réponds toi même à ce que je dis à propos de render() et partial().
Dans un cas l'utilisation comme tu le dis qui est fait également par les actions est le rendu, il s'agit du rendu complet d'un page, tu ne peux pas en mettre plusieurs par exemple dans une action. Tandis que partial() est utilisé pour inclure plusieurs vue (partie de vue en faite si on veut être précis) Donc en fonction de ce qui est demandé ici il s'agit bien de partial étant donné qu'il veut inclure plusieurs partie. |
|
|
00
|
|
|
#7 | |||
|
Membre régulier
![]() Étudiant Inscription : juin 2008 Messages : 70 ![]() |
Bon on va pas en faire un débat non plus...
Ce que tu dis n'est pas exacte et en plus tu déformes mes propos... Citation:
Sinon en pratique : Code :
Si quelqu'un veut en débattre encore (pour contredire la doc, le code, le guide des perf', ou accessoirement moi |
|||
|
00
|
|
|
#8 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
La documentation anglaise est claire sur ce point on peutl'utiliser mais ça n'en ai pas le but, pour plusieurs parties il est recommendé d'utilisait partial();
D'ailleurs render() n'est pas que pour la vue et est bien plus complexe. (Décorateurs, fil d'arianne, action, etc) et aucune fois tu le verras appelé plusieurs fois. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com