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 :

[Zend_View_Helper] Problème avec un helper personnalisé pour ma vue


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut [Zend_View_Helper] Problème avec un helper personnalisé pour ma vue
    Bonjour !

    Je suis en train de travailler sur une vue, et j'aurais besoin d'un helper parce que j'ai du code html récurrent dans mes pages et qu'il serait beaucoup mieux pour la lisibilité que ce code soit renvoyé par un helper.
    J'ai suivi la documentation Zend. J'ai donc :
    - crée un fichier 'NomDeMonHelper.php"
    - dans lequel j'ai défini une classe "Helper_NomDeMonHelper"
    - dans laquelle j'ai défini une méthode publique "nomDeMonHelper"

    Voilà ce fichier :
    Code GetWidget.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
     
    class Helper_GetWidget {
     
    	public function getWidget() {
    		return 'coucou';
    	}
    }
    ?>

    Dans mon IndexController, fonction init(), j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $view = new Zend_View();
    $view->addHelperPath(ROOT_URL.'application/views/helpers', 'Helper');
    Enfin, dans ma vue, j'ai écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->getWidget(); ?>
    A l'exécution, j'ai l'erreur suivante :
    Uncaught exception 'Zend_View_Exception' with message 'helper 'GetWidget' not found in path' in C:\wamp\www\...\Zend\View\Abstract.php:1004 Stack trace: #0 C:\wamp\www\...\Zend\View\Abstract.php(497)
    Le chemin que j'ai donné est bien valide, je l'ai affiché pour voir si la constante ROOT_URL était bien interprétée.

    D'après vous d'où peut venir le problème ? Si ça se trouve il saute aux yeux, mais je commence à loucher sur mon code

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Par défaut
    Bonjour,

    le nom de la méthode est ok.

    essaie avec un underscore, je pense que ca ira mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $view->addHelperPath(ROOT_URL.'application/views/helpers', 'Helper_');

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    Citation Envoyé par _julz_ Voir le message
    Bonjour,

    le nom de la méthode est ok.

    essaie avec un underscore, je pense que ca ira mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $view->addHelperPath(ROOT_URL.'application/views/helpers', 'Helper_');
    Dans la doc ils disent qu'on peut préciser ou pas cet underscore, au choix.
    Je viens d'essayer quand même, ça ne fonctionne pas mieux. Même erreur.

    Merci pour ta réponse.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Par défaut
    mon code qui marche :
    Dans le bootstrap:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $view= new Zend_View();
    //add helpers        
    $view->addHelperPath('My/View/Helper/', My_View_Helper_');
    require_once 'My/View/Helper/NomHelper.php';
    Dans le template :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $this->NomHelper();
    Verifie bien ton chemin.

    Sinon regarde les chemins des helpers stockées dans ta vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var_dump($view->getHelperPaths());

  5. #5
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    Ca ne fonctionne pas non plus avec le require_once.

    J'avais déjà fais appel à la méthode getHelperPaths() pour vérifier, avant de poster ma question sur le forum

    Je ne vois pas ce que ça peut être... D'autres suggestions ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Par défaut
    hmm mystère...

    quelle est ta version du framework ?

    fais voir ton var_dump() de view qd même s'il y a pas quelque chose louche.

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

Discussions similaires

  1. Problème avec html-helper-mode pour emacs
    Par Vyrob dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 17/01/2011, 22h17
  2. [XML] problème avec :content et :before pour un XML
    Par sab_etudianteBTS dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 21/01/2007, 14h49
  3. Réponses: 2
    Dernier message: 29/08/2006, 13h59
  4. Réponses: 6
    Dernier message: 15/06/2006, 15h15
  5. [JMeter] Problème avec la boucle infinie pour les tests
    Par zegreg dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 05/10/2005, 11h41

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