Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Autres composants
Autres composants Forum de support sur les autres composants de Zend Framework.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/02/2007, 16h51   #1
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Par défaut Zend_View avec sub templates, vous faites comment ?

Bonjour,

Quelle méthode utilisez-vous pour constituer vos fichiers de template pour Zend_View à partir de plusieurs scripts (template qui inclut d'autres templates etc) ?

La première chose qui vient à l'esprit c'est de mettre de simples include() dans un "master template", mais ça peut poser des problèmes par rapport à la connaissance des paths nécessaires, relatif, absolus...

L'autre technique qui semble naturelle c'est d'utiliser directement Zend_View::render() au sein même des templates. Mais y a un hic. Dans le dernier ZF 0.7.0 (au moins lui), l'output de Zend_View::render() est filtré si on a déclaré au préalable des filtres avec Zend_View::addFilter(). Dans dans un tel scénario on peut se retrouver avec certaines parties filtrées plusieurs fois, ce qui peut poser problème.

Du coup une autre solution c'est d'utiliser Zend_View::_script() pour trouver un fichier dans la listes des paths déclarés en amont. Encore une fois, on n'est pas à l'abri de conflits car tout dépend de l'ordre d'ajout des paths.

Comment procédez-vous ?

Merci
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 14h51   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Je ne suis pas encore un grand spécialiste du framework mais il me semble qu'il est possible d'utiliser toutes sortes de classes pour gérer les templates ?
Si c'est bien le cas, alors tu devrais trouver ton bonheur sur le site dans quelques jours : surveille l'index !

Cordialement,
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 15h10   #3
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Citation:
Envoyé par Yogui
il me semble qu'il est possible d'utiliser toutes sortes de classes pour gérer les templates ?
Oui dans le sens où le framework n'impose pas l'utilisation d'un moteur de template en particulier, en l'occurence Zend_View (si c'est bien ce que tu veux dire)

Je me posais la question car beaucoup utilisent la méthode render() sans vraiment se rendre compte que son output est filtré (voir mon premier post)

Du coup j'utilise quelque chose d'équivalent à render() mais sans filtre, puis un render() final pour le master template. Ca permet aussi d'avoir quelque chose de transparent si on switch avec un system xslt en backend

Merci
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 15h15   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Ce que je veux dire est que les moteurs de template classiques permettent d'inclure des sous template sans problème : Smarty, phpBB2, TinyButStrong, etc.
L'article évoqué plus haut donnera des exemples de tout cela.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 22h17   #5
Rédacteur
 
Avatar de doctorrock
 
Homme Julien Pauli
Architecte de système d'information
Inscription : mai 2006
Messages : 597
Détails du profil
Informations personnelles :
Nom : Homme Julien Pauli
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mai 2006
Messages : 597
Points : 5 015
Points : 5 015
Rien ne t'empêche de créer plusieurs instances de Zend_View, une filtrée, et une non filtrée, évidemment, il faudra configurer chaque instance de manière individuelle ( setScriptPath() , etc... ).

Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
$maVueNonFiltree = new Zend_View();
 
$maVueFiltree = new Zend_View('filter'=>'mon_filtre');
// ou alors $maVueFiltree->addFilter('mon_filtre'); sur une instance vierge
 
// blablabla
 
$maVueNonFiltree->render('mon_rendu'); // si je ne veux pas filtrer
$maVueFiltree->render('mon_rendu'); // si je veux filtrer
?>
doctorrock est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 21h07   #6
Rédacteur
 
Avatar de doctorrock
 
Homme Julien Pauli
Architecte de système d'information
Inscription : mai 2006
Messages : 597
Détails du profil
Informations personnelles :
Nom : Homme Julien Pauli
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mai 2006
Messages : 597
Points : 5 015
Points : 5 015
MAJ : La doc officielle offre maintenant un exemple utilisant Smarty, par héritage de Zend_View : http://framework.zend.com/manual/en/...w.scripts.html

A titre d'exemple...
__________________
.: Expert contributeur certifié PHP/ZF :.
Mes articles - Twitter - GitHub
doctorrock est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 17h00   #7
Invité de passage
 
Inscription : mars 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 3
Points : 3
Points : 3
Par défaut Savant

Zend_view a été développé par le gars qui a créé l'engind e template Savant (http://www.phpsavant.com/yawiki/index.php?area=Savant3). J'imagine que les fonctionnalités se retrouveront dans le framework d'ici peu...
zudre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h08.


 
 
 
 
Partenaires

Hébergement Web