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

MVC PHP Discussion :

Aide de vue personnalisé


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 152
    Par défaut Aide de vue personnalisé
    Bonjour,

    je travaille actuellement sur une application zend modulaire et je souhaiterais créer une aide de vue commune aux modules de mon application.

    Pour cela je crée dans mon dossier 'library', les sous répertoires: Custom/View/Helper qui contiendront mon aide de vue...

    Voila à comment je m'y prends:
    1. dans les fichiers bootstrap.php de chaque module j'ai le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    protected function _initView()
    	{
    		$view = new Zend_View;
    		$view->addHelperPath(APPLICATION_PATH . "/../library/Custom/View/Helper/", "Custom_View_Helper");
     
    		return $view;
    	}
    2. Ma classe qui définit l'aide de vue personnalisée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class Custom_View_Helper_Perso extends  Zend_View_Helper_Abstract {
    public function perso() {
          return 'ma petite fonction de helper perso';
    }
    }
    3. Enfin dans mon script.phtml j'utilise cette aide de vue de la maniere suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $this->perso();
    Le problème c'est que rien ne s'affiche et quand pour tester je crée un objet de la classe Custom_View_Helper_Perso :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $viewHelper = new Custom_View_Helper_Perso();
    J'ai le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Class 'Custom_View_Helper_Perso' not found in application/modules/my_module/views/scripts/mon_action/index.phtml on line 28
    L'un d'entre vous a t il déjà confrontéà ce problème???

    Merci d'avance pour vos suggestions

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 152
    Par défaut
    J'ai résolu mon problème

    au lieu de d'instancier ma classe dans chaque bootstrap de mes modules j'ajoute le chemin vers les aides à la ressource view dans application.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    autoloaderNamespaces[] = "Custom_"
    resources.view.helperPath.Custom_View_Helper_ = "Custom/View/Helper"

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

Discussions similaires

  1. [ZF 1.8] [View_Helper] Aide de vue personnelle non trouvée
    Par s.n.a.f.u dans le forum MVC
    Réponses: 2
    Dernier message: 19/05/2009, 20h15
  2. Aide de vue url() et application modulaire
    Par aure298 dans le forum MVC
    Réponses: 4
    Dernier message: 03/05/2009, 13h10
  3. L'aide de vue Action
    Par Amon dans le forum MVC
    Réponses: 7
    Dernier message: 02/05/2009, 14h26
  4. [View] Utilisation de l'aide de vue URL
    Par oranocha dans le forum Autres composants
    Réponses: 2
    Dernier message: 26/01/2009, 13h43
  5. aide choix vue (framework) pour struts
    Par gibson700 dans le forum Struts 1
    Réponses: 4
    Dernier message: 16/03/2007, 10h44

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