Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-04-2008 19:21:56

neiluJ
Nouveau membre
Date d'inscription: 29-04-2008
Messages: 2

[Zend_Layout][1.5] Problème avec headScript()

Bonjour à tous,

J'ai découvert il y'a quelques semaines ZF et j'avoue que je suis tombé sous le charme.
Par contre, quelques principes de base me déboussolent un peu, du coup je viens vous enquiquiner avec mes questions...

Par exemple: headScript().

Pour la situation:
- J'ai un layout : default.phtml dans lequel je fais mon header avec

Code:

<?= $this->headScript(); ?>

et dedant je fais un

Code:

<?= $this->action('mon_action','mon_controlleur'); ?>

où mon mon_action est en fait une box dans ma colonne de droite. jusque là, tout va bien.

Seulement, j'avais envie d'ajouter a ma box des fonctions JS de mootools.
Je me suis dit "trop bien, j'ai qu'à faire un $this->view->headScript('file','/js/mootools.js'); et c'est bon !

Sauf que mootools.js n'est pas ajouté dans mon header....

Bêtement, je me dis que ZF tente d'appliquer mon headScript à la vue de mon_controlleur, et que du coup il zappe qu'il est en fait en plein milieu d'un layout ?
Mais alors... je l'ajoute comment mon mootools ?

L'interet de headScript n'est-il pas de pouvoir ajouter 'on-the-fly' ce dont on a besoin pour tel controlleur ?

PS: Je lance bien Zend_Layout avec startMvc.

Si vous pouviez m'éclairer... smile

Hors ligne

 

#2 30-04-2008 09:38:41

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend_Layout][1.5] Problème avec headScript()

Si, 'on the fly' comme tu dis, mais si tu l'as affiché, avant, ca ne sert plus à rien
Vérifie que <?= $this->headScript(); ?>
n'est pas appelé avant ton
$this->view->headScript('file','/js/mootools.js');


----
Gruiiik !

Hors ligne

 

#3 30-04-2008 10:12:20

neiluJ
Nouveau membre
Date d'inscription: 29-04-2008
Messages: 2

Re: [Zend_Layout][1.5] Problème avec headScript()

Je suis déçu hmm du coup l'interet est réduit...
En fait, mon headScript() est dans le haut de mon layout, qui lui, appele ensuite mon_controlleur... j'en déduis qu'il est déjà passé donc sad

merci en tous cas, ça m'évitera de chercher encore pendant des heures.

Hors ligne

 

#4 30-04-2008 10:21:05

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zend_Layout][1.5] Problème avec headScript()

Tu sais quoi, perso j'ai un technique a 2 balles mais qui est tout bénéf.
Les scripts je les met en fin de page, juste avant </body>
1. Ton problème serait surement résolu!
2. Les pages sont rendues plus rapidement sur certains navigateurs car les js ne sont exécutés qu'une fois la page (enfin l'html) chargés.

Attetion, cette technique ne marche que si tu n'as aucun javascript inline (méthode que je conseille fortement pour la lisibilité/évolution/maintenance... smile

Hors ligne

 

#5 30-04-2008 10:59:37

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend_Layout][1.5] Problème avec headScript()

Il est vrai que pour les header ou autre rendu intégré au layout.phtml, ca peut être embétant
Mais, logiquement, si tu places un appel de vue ou d'action à partir du layout.phtml (via partial ou action), c'est que ce rendu est toujours rendu ? Donc, ce que tu devais mettre dans ton controller, tu peux le mettre dans ton layout.phtml, ca revient au même

Mais ca fonctionne pour toutes les vues qui sont généré dans latout()->content. (je l'utilise pour les titres, css spéciaux et javascript dédié à une vue particulière)


----
Gruiiik !

Hors ligne

 

#6 30-04-2008 11:03:53

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zend_Layout][1.5] Problème avec headScript()

Après, au lieu d'utiliser le view helper action, y'a aussi l'actionStack...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages