Re: Env d'une inclusion ajax
Cerdic <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <0dd75731-0e42-4a1d-8e39-efb8abc9ac9c@Spark> |
Hello, Tu as bien résumé le principe de fonctionnement ! :) Il n’y a pas de magie, et c’est donc à toi concepteur de squelettes de faire en sorte que ça marche dans les cas tordus, par exemple en faisant ton calcul complexe dans la noisette ajax elle-meme, en fonction des arguments de l’url+env. Et comme tu dis, c’est un principe de fonctionnement qui marche spontanément dans 90% des cas, les 10% restant seraient beaucoup trop dispendieux à obtenir pour que ça vaille la peine, on compte donc sur un peu de bonne volonté de celui qui fait les squelettes pour les gérer. -- Cédric Le 26 janv. 2020 à 19:39 +0100, JLuc <[email protected]>, a écrit : > 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 > > _______________________________________________ > liste: https://listes.rezo.net/mailman/listinfo/spip-dev > doc: https://www.spip.net/ > dev: https://core.spip.net/ > irc://irc.freenode.net/spip