2013-06-10 2 views
2

J'essaie d'ajouter un assistant à mon projet, mais j'ai une erreur fatale. Voici mon aide de vue:ZF2- Helper ne fonctionne pas dans le répertoire de l'application

namespace Application\View\Helper; 

use Zend\View\Helper\AbstractHelper; 

class TestHelper extends AbstractHelper 
{ 
    public function __invoke() 
    { 
     return 'Helper works!'; 
    } 
} 

Mon global.php

'view_helpers' => array(
    'invokables' => array(
     'test_helper' => 'Application\View\Helper\TestHelper' 
    ), 
), 

layout.phtml

<?php echo $this->test_helper(); ?> 

J'obtiens l'erreur fatale: Erreur fatale: Application \ View classe de \ Helper \ TestHelper 'introuvable dans ... library \ Zend \ ServiceManager \ AbstractPluginManager.php à la ligne 170

Mais si je mets répertoire view/helper/TestHelper.php à un autre module tout semble fonctionner correctement.
Est-il impossible d'exécuter des assistants à partir du répertoire de l'application?

J'ai aussi une question à propos de Zend helpers.
J'ai une partie de la page qui s'affiche si l'utilisateur est connecté ou non. Il est montré pour presque tous les modules. Est-ce une bonne idée de garder ces aides dans le module Application?

Merci à l'avance

+0

Peut-être aussi obiovus: using ClassmapAutoloader et avez oublié de l'ajouter? – Sam

+0

Pouvez-vous ajouter le chemin de votre fichier d'aide? J'ai eu un problème similaire, mais j'ai maintenant mis à jour les documents ZF2.2 –

+1

J'ai le même problème, et la solution ne fonctionne pas pour moi. Il devrait être assez simple, j'ai contrôleur_plugins qui fonctionnent, les aides à la vue devraient être les mêmes. D'autres solutions à ce sujet? –

Répondre

4

J'ai eu le même problème et il est avéré être simple:

Le fichier 'YourNewViewHelper' devrait être dans le dossier

module\moduleName\src\nameSpace\View\Helper 

et non dans

module\moduleName\View\Helper 
Questions connexes