2009-09-09 6 views
2

Est-il possible de définir une variable de modèle dans une aide? En fin de compte ce que j'essaie de faire est d'avoir un assistant ajouter du code dans l'en-tête de la mise en page, pour une utilisation avec JavaScript et autres.In Cakephp utilisant une aide pour définir des variables de modèle

façons je peux penser que je préfère ne pas utiliser:

  • Passer dans l'objet de la vue: ne veulent pas à vous soucier d'avoir à appeler une fonction supplémentaire
  • en utilisant le « global "mot-clé pour obtenir la vue, j'aime vraiment éviter de l'utiliser sauf en dernier recours car il n'est pas considéré comme orthodoxe

Des pensées?

Mise à jour 2012-02-20: Comme gâteau comme cela a été récemment mis à jour j'ai essayé d'inclure des réponses à gâteau 1.2 ainsi que gâteau 2. Merci à Adam et marque pour leurs recommandations

+0

Vous devriez toujours noter quelle version de cakephp vous utilisez! – mark

Répondre

4

I découvriez vous pouvez utiliser le registre de classe pour la saisir, donc je l'ai fait cette fonction dans mon aide:

/** 
* Access to the view for special operatoins 
*/ 
protected function getView() { 
    return ClassRegistry::getObject('view'); 
} 

Mise à jour 20/02/2013: je l'ai écrit ci-dessus pour le gâteau 1.2, Adam (dans le commentaire ci-dessous) suggéré d'utiliser $this->_View->viewVars['var'] pour Gâteau 2.3 qui a l'air bien, b Je n'ai pas le moyen de tester.

+2

Peut ne pas fonctionner dans le dernier gâteau ... Cependant: '$ this -> _ View-> viewVars ['var']' dans l'aide fait l'affaire dans cake2.3 (gracieuseté de @atomicguava) –

+0

vrai, je crois que j'ai écrit ce pour le gâteau 1.2. Je vais ajouter dans vos commentaires à cette réponse – SeanDowney

Questions connexes