IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

Zend_View avec sub templates, vous faites comment ?


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    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

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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,

  3. #3
    Membre chevronné Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Par défaut
    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

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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.

  5. #5
    Invité
    Invité(e)
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    ?>

  6. #6
    Invité
    Invité(e)
    Par défaut
    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...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/11/2006, 11h56
  2. Réponses: 4
    Dernier message: 23/05/2006, 20h48
  3. Comment vous faites pour gérer votre temps?
    Par implosion dans le forum Emploi
    Réponses: 12
    Dernier message: 10/01/2006, 18h31
  4. Réponses: 11
    Dernier message: 12/12/2005, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo