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

Zend Framework PHP Discussion :

Intégration de Smarty


Sujet :

Zend Framework PHP

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Par défaut Intégration de Smarty
    Bonjour à tous,

    Je suis débutant sur Zend (j'ai donc commencé avec la 1.9.3) mais cela fait un bail que je fais du devweb.
    Avant, à l'exception du template engin (j'ai utilisé celui de PHPBB pendant très longtemps), je codais tout à la main et la plupart du temps je partais "from scratch" : grosse perte de temps...

    Pour le moment, je suis plutôt content de ZF à part pour Zend_View&Cie qui ne me donne pas entière satisfaction. Je me suis donc tourné vers Smarty mais autant il y a une foultitude de tuto pour les versions précédente de ZF + Smarty, autant pour la 1.8/1.9, c'est le désert : à croire que tout le monde à abandonné ZF ou Smarty lors de la MàJ.

    Ma question est donc : y en a-t-il qui ont réussi à intégrer Smarty à ZF1.9 et ce, de manière à supplanter Zend_View ?

    Forcément, si on me livre la méthode, ce sera le rêve, mais sinon, une idée/piste/indice sera le bienvenue

    Merci d'avance à tous les participants !

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Par défaut
    Booooooooooon, comment se rendre ridicule en 1h sur un forum ? La réponse ci-dessous !

    Ayé, j'ai trouvé et la solution c'est : RTFM !

    Une ultime recherche à la suite de la rédaction du topic m'a amené sur la page Zend_View_Interface (en français ici).

    Il est donné presque tout ce qu'il faut faire pour implémenter un template engine et l'exemple est basé sur... Smarty ! (Wouhou ovation pour Inward Cépalyr !!)

    Bon, pour que je sois pas le mec qui sert à rien, voici quand même les quelques trucs qu'il faut adapter pour que ça fonctionne :
    1. Lisez rapidement le premier cadre bleu
    2. Copiez l'intégralité du 2ème cadre bleu
    3. Créez un nouveau fichier que vous nommerez Smarty.php et que vous placerez dans "/library/Zend/View/" (pour que ça match le nom de la classe si vous utilisez l'autoload et puis vous pourrez réutiliser plus tard )
    4. Collez le texte copié dans la 2ème étape
    5. Ouvrez Bootstrap.php et créez une nouvelle méthode : protected function _initView() {...}
    6. Ajoutez la première partie du 3ème cadre bleu. Pensez à modifiez le chemin vers votre dossier où seront stockées les fichier tpl (vous pouvez mettre celui de Zend : APPLICATION_PATH . "/views/scripts", par exemple) et surtout, corrigez l'erreur : il faut virer le "new" avant "Zend_Controller_Action_HelperBroker::getStaticHelper" car c'est une méthode statique...
    7. Faites ce qui est dit dans la partie concernant le controller (là, par exemple, vous pouvez suivre le Quick Start de Smarty)
    8. Allez dans votre navigateur, rechargez la page de votre projet et hop ça fonctionne !!


    Attention : maintenant, vous avez remplacé le templateEngine de Zend par celui de Smarty mais d'après ce que j'ai pu en voir, le système de dossier de Zend_View est à conserver : scripts/index/index.tpl par exemple pour afficher l'action par défaut (indexAction()) du contrôleur par défaut (IndexController.php).

    Les critiques (pas trop violentes) sont les bienvenues !
    Les questions (pas trop vagues) le sont aussi !

    Codez bien !

  3. #3
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Bonjour,

    Je me permets de relancer ce sujet car je galere (mes excuses pour les accents car je travaille avec un clavier anglais) pour effectuer Smarty-2.6.26 sous ZF 1.9.5

    J'ai bien suivi le cheminement de Inward et je suis arrive au resultat ci-apres avec une erreur en bas de page.
    BIENVENUE, Ned!

    Title: Welcome To Smarty!

    The current date and time is 2009-12-15 09:37:43

    The value of global assigned variable $SCRIPT_NAME is /sample/public/index.php

    Example of accessing server environment variable SERVER_NAME: localhost

    The value of {$Name} is Ned

    variable modifier example of {$Name|upper}

    An example of a section loop:

    none

    An example of section looped key values:

    testing strip tags
    This is a test

    This is an example of the html_select_date function:

    This is an example of the html_select_time function:

    This is an example of the html_options function:

    Fatal error: Cannot access protected property Zend_View_Smarty::$_smarty in /var/www/html/sample/application/Bootstrap.php on line 74
    Voici mes soucis:
    1- comment resoudre cette erreur
    2- Je desire utiliser la vue dans une action comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    Zend_Loader::loadClass("Zend_Controller_Action");
    class IndexController extends Zend_Controller_Action {
        public function indexAction() {
            $this->view->message = "test de message";
            echo $this->view->render("index/index.tpl");
        }
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html>
    <body>
    Bonjour, voilà le message en paramètre :<br/>
    {$message}
    </body>
    </html>
    Mais le parametre message ne passe pas. A l'affichage, j'ai en dur {$message} au lieu de sa valeur. Quelles configurations faut-il encore faire pour que cela marrche.

    Merci d'avance pour vos apports

  4. #4
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Aucune idee ?

Discussions similaires

  1. Intégration de code c++
    Par Raoul le perdu dans le forum MFC
    Réponses: 2
    Dernier message: 24/02/2004, 08h54
  2. intégration de sons
    Par pal200 dans le forum OpenGL
    Réponses: 2
    Dernier message: 09/02/2004, 11h17
  3. [MFC][Excel] Intégration excel et MFC!
    Par fadoua dans le forum MFC
    Réponses: 2
    Dernier message: 22/12/2003, 10h51
  4. [NETBEANS] Intégration de Jboss dans NetBeans
    Par Kleb dans le forum NetBeans
    Réponses: 1
    Dernier message: 09/06/2003, 18h45

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