Env d'une inclusion ajax
JLuc <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Bonjour, Je suis surpris par le fonctionnement des inclusions ajax. Lorsqu'on les inclue, elles bénéficient du contexte passé en argument de l'inclusion : les arguments explicites + l'environnement du contexte via 'env'. Soit. La doc recommande aussi de toujours passer 'env'. Soit. Souvent ensuite le rechargement ajax se fait avec un href basé sur #SELF (cf https://www.spip.net/fr_article3753.html ou https://programmer.spip.net/Liens-AJAX) mais potentiellement les variables de la query de #SELF sont totalement différentes de celles du contexte incluant la noisette ajax : noms de variables différents, ou valeurs différentes. Par exemple, sur une page article on peut avoir une noisette ajax qui présente la météo du jour dont le n° dans l'année est indiqué par un champ extra de cet article. (juste un exemple...) Ce qui me surprend, c'est que lors du chargement ajax après clic, la noisette reçoit en contexte - à la fois (prioritairement) les variables d'url de #SELF, complétées des éventuels parametre_url, - ET les variables du contexte d'inclusion initial de la noisette telles qu'elles se présentent lors du calcul de la page initiale incluant la noisette (du moins celles qui ne sont pas écrasées par les variables du #SELF). D'une certaine manière l'url du lien ajax ne sert QUE pour ses arguments d'url puisque les squelettes de cette page, qui calculent et préparent le contexte d'appel de l'inclusion ajax ne sont pas mis à contribution lors du clic d'un lien ajax. Ça ne doit pas poser souvent problème, mais ça doit en poser dans les cas où la valeur d'un contexte est calculée... et où il va donc falloir faire autrement pour que ces calculs soient refaits et ne soient pas écrasés au clic ajax. ++ JL