10
votes

Zend: Où / comment puis-je enregistrer les aides de vue personnalisés?

dans mon layout.phtml Fichier J'ai: XXX

J'ai créé une assistance de visualisation de test à Application / Vues / ALIÉRES / TEST.PHP xxx

et mon fichier de configuration @ configs / applications.ini : xxx < p> erreur que je reçois:

zend_loader_pluginloader_Exception: Plugin par nom 'Test' n'a pas été trouvé dans le registre; Chemins d'occasion: Zend_View_helper_: Zend / View / Helper /:./ Vues / Aide / In /USR/Share/php/zend/loader/pluginloader.php sur la ligne 406

sur une note similaire, je ne peux pas enregistrer mon assistant d'affichage de l'administrateur .. xxx

mon modules / administrateurs / vues / aides / Adminpanel.php : xxx

n'est-ce que je n'ai pas d'autre choix que de le faire dans la bootstrap avec addhelperpath? Si oui, quelqu'un pourrait-il démontrer comment j'utiliserais mes chemins?


2 commentaires

Dans votre première, vous voudrez peut-être mettre un préfixe sur cet helperpath ... resouve.view.helperpath.my_view_helper =


Aussi: Ressources.View [] [] = '' n'a aucun sens comme une directive INI, cela pourrait jouer avec vous ...


3 Réponses :


1
votes

dans mon bootstrap: xxx


1 commentaires

La constante Directory_Separator est idéale pour effectuer une explose () sur les chemins de fichiers, mais est inutile pour spécifier un chemin inclus. Les barres obliques avancées fonctionnent bien dans Windows et * Nix plates-formes. (Juste un fyi)



13
votes

Utiliser Application.ini code> est probablement le meilleur moyen de les définir. Je mets tous mes aides de vue dans mon dossier de la bibliothèque: xxx pré>

Structure du répertoire: p> xxx pré>

vue: p> xxx PRE>

SNTRACK / VUE / APPECTEUR / TEST.PHP: P>

 class SNTrack_View_Helper_Test extends Zend_View_Helper_Abstract {
   public function test($args) { return $args; }
 }


3 commentaires

J'ai essayé ce que vous avez commenté, ressources.view.helperpaths.my_view_helper = application_path "/ vues / helpers" mais il ne peut toujours pas trouver test . N'oubliez-vous pas de poster votre structure de travail à l'aide de votre fichier INI uniquement?


Je sélectionne ceci comme réponse parce que vous m'avez fourni la structure de répertoire, bien que la façon dont je résolviez réellement que c'était en déplaçant ma fonction de bootstrap, qui a ajouté codage / doctype à la vue au début, avant mes autres méthodes init et que d'une manière ou d'une autre corrigé.


@meder - Vous devriez être capable de supprimer tout document DOCTYPE / codage / etc de la bootstrap tout ensemble, le remplaçant par des directives de configuration appropriées (que je suis à peu près sûr en utilisant le truc [] Travailler dans Ini's) - Si vous constatez que cela ne loge pas vos paramètres suffisamment rapides $ ceci-> boostrap ('View'); en haut de votre _Initapp () La fonction de votre bootstrap doit lire / définir tous les paramètres.



1
votes

Je viens d'avoir ce problème exactement et j'ai compris qu'il s'agissait d'un problème dans mon bootstrap: je définissais et utilisais un nouvel objet Zend_View dans l'une de mes fonctions _Init, que je pense écraser tous mes autres paramètres de vue des deux Mon fichier bootstrap et mon application.ini (y compris ma définition de ressources.view.helperpath). Le code fautif avait été copié aveuglément à partir de ici et placé dans une fonction _InjQuery () dans mon bootstrap, qui ressemblait à ceci:

$this->bootstrap('view');
$view = $this->getResource('view');


0 commentaires