2010-11-30 11 views
2

J'ai une méthode d'aide de vue qui est comme çascripts Annexer de vue méthode d'assistance ne fonctionne pas dans le cadre de zend

class Zend_View_Helper_LoginForm extends Zend_View_Helper_Abstract 
{ 
    public function loginForm() 
    { 
     $script = "<script type='text/javascript'>(function(){ $('#submit').click(function(){alert('hello'); return false;})})</script>";  
     $this->view->headScript()->appendScript($script, $type = 'text/javascript'); 
     $login = new Application_Form_User(); 
     return $login; 
    } 

} 

Mais cela ne fonctionne pas. J'ai également essayé

$this->view->headScript()->appendFile($this->view->baseUrl('/js/jquery.js'), 'text/javascript'); 

mais cela ne fonctionne pas non plus. Si j'essaye ce code dans layout.phtml alors ça marche.Toute idée?

+0

Il devrait fonctionner. Appelez-vous headScript(); ?> dans votre mise en page? – Maxence

+0

oui je suis sûr que j'ai appelé cela dans mon fichier layout.phtml –

Répondre

1

Dans le fichier de vue:

<?php $this->headScript()->appendFile('your/sript/file.js') ?> 

Dans votre mise en page:

<?php echo $this->headScript() ?> 
+0

Je ne peux pas ajouter ce fichier dans le fichier de vue car ce script est pour un plugin commun que toutes les vues partagent –

0

Vous devez ajouter méthode setView:

classe My_View_Helper_ScriptPath { $ view public;

public function setView(Zend_View_Interface $view) 
{ 
    $this->view = $view; 
} 

public function scriptPath($script) 
{ 
    return $this->view->getScriptPath($script); 
} 

}