Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-08-2010 15:20:40

shugyosha
Nouveau membre
Date d'inscription: 04-08-2010
Messages: 4

[ZF 1.10] Sortir le javascript hors des vues

Bonjour a tous,

En vue d'avoir un code le plus propre et divisé possible, je voudrais ne pas avori a mettre mon code Javascript dans ma vue.

Pour cela, je souhaiterais avoir une arborescence de type /controller/vue.js et charger dans ma vue a la fin mon code JS pour chaque vue. J'ai donc décidé de faire un plugin qui ajouterais le chemin du script lors du postDispatch() via la methode headScript()->setScript() ou setFile(). Et dans le layout de mon site, je fais un

Code:

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

.

Le problème, c'est que lorsque je charge mes pages en Ajax, le contexte me supprime mon layout et donc je n'ai plus mes scripts. Quelqu'un aurait-il une idée pour résoudre ce soucis svp ? ou alors une autre méthode pour me permettre de séparer les vues et les fichiers JS ?

Merci d'avance.

Hors ligne

 

#2 11-09-2010 22:57:07

mdesloges
Nouveau membre
Date d'inscription: 08-09-2010
Messages: 8

Re: [ZF 1.10] Sortir le javascript hors des vues

Bonsoir,

je n'ai pas très bien compris la question, mais le helper "ContextSwitch" (si c'est celui ci que vous utilisez pour vos chargement de page en AJAX) expose une méthode "setAutoDisableLayout(bool $flag)", en passant "false" à cette méthode, le layout sera rendu même dans un contexte AJAX.


Core Developer Centurion
http://www.centurion-project.org - Flexible PHP5 Content Management Framework
http://centurion-project.org/articles - Demo, Updates, Developer Tips

Hors ligne

 

#3 13-09-2010 18:07:46

Ithier
Membre
Date d'inscription: 05-01-2010
Messages: 85

Re: [ZF 1.10] Sortir le javascript hors des vues

Est-ce utile d'avoir des scripts dans des réponses ajax ?
En général dans la réponse ajax il n'y a que quelques données, les scripts sont dans la page initiale qui a fait le requête ajax.

Hors ligne

 

#4 13-09-2010 19:41:39

omega2
Membre
Lieu: Boisbriand, quebec, canada
Date d'inscription: 01-04-2009
Messages: 85
Site web

Re: [ZF 1.10] Sortir le javascript hors des vues

Salut shugyosha,

Pour aller dans le même sens que Ithier, je vais juste parler d'un point de vue vitesse et référencement. Google se base entre autre sur la rapidité des pages pour classer les sites internet. En utilisant la méthode que tu as choisis, tu perds du temps sur plusieurs points :
- temps de récupération du javascript rallongé par toute la couche MVC et la couche application du framework
- temps de demande des javascript rallongé par l'envoie du cookie (par exemple YSlow à un critère nommé "Use cookie-free domains")
- il est plus difficile de combiner tes javascripts en un seul (si tu as 5 vues, tu vas surement faire 5 appels de javascript alors que ça serait plus rapide si tu récupérais un seul javascript qui contient les 5 codes)
- il est plus difficile de "minifier" le code javascript généré en passant par le framework que des fichiers javascript (on ne peut pas utiliser directement les outils qui font ça)

Pour te donner une idée de vitesse :
- sur la page de mon site qui utilise tiny_mce j'ai gagné plusieurs dixièmes de seconde rien qu'en jumelant les fichiers javascript correspondant. Je peux dire merci à tiny_mce_gz pour l'automatisation du jumelage.
- du côté de ma page html généré par le framework, j'ai du ménage à faire par ce qu'il faut plusieurs dizaines de secondes pour qu'elle soit généré. Si c'est pareil pour toi, il te suffit de 5 fichiers javascript pour perdre plus d'une seconde. Pour un site internet, c'est la perte assurés d'une bonne proportion des visiteurs.

Ceci dit, à toi de voir si ton serveur et ton réseau est assez rapide et si c'est nécessaire de passer par le framework.

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