Formulaire ne reconnait pas l'#ENV

Bonjour,

Je travaille actuellement sur un plugin de votes par des comptes actifs (id_auteur). Jusque là tout va pas trop mal avec La Fabrique (juste un soucis avec l’édition qui n’affiche rien en BO).

J’ai surtout un soucis étrange, j’appelle mon formulaire avec un lien Ajax et un paramètre URL id qui prend l’idée d’un vote.

<BOUCLE_democratie(VOTES){tout}>

#TITRE

<INCLURE{fond=democratie,env=#ENV{id}}>

</B_democratie>

Mon inclure affiche

<BOUCLE_levote(VOTES){id_vote=#ENV{id}}>

#FORMULAIRE_VOTE{#ID_VOTE}

</BOUCLE_levote>

Et mon formulaire ne reconnait ni #ID_VOTE ni #ENV{id} impossible de trouver l’#ENV alors que tout charge en Ajax.
Je ne comprends pas… j’ai regardé dans tous les sens, il veut pas récupérer cet id car si je met le chiffre ça marche super.

Mon formulaire_vote

<BOUCLE_vote(VOTES){id_vote=1}>

#SET{reponse, #ARRAY{reponse1,#REPONSE1,reponse2,#REPONSE2}}
[(#REPONSE3|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse3,#REPONSE3}}})] ]
[(#REPONSE4|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse4,#REPONSE4}}})] ]
[(#REPONSE5|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse5,#REPONSE5}}})] ]
[(#REPONSE6|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse6,#REPONSE6}}})] ]

[(#ENV{masquer_question}|non)
#TITRE
] [
(#ENV*{message_ok})
] [
(#ENV*{message_erreur})
]

[(#ENV**{editable}|oui)

#ACTION_FORMULAIRE{#ENV{action}}
    [(#SAISIE{radio, vote, datas=#GET{reponse}} )]

]

Des idées ?

Teenoo

Oui si j’arrive à le faire marcher (il doit !) je le mettrai sur le réseau spip :slight_smile:

Teenoo
boiron.laetitia@gmail.com

Bonjour,

J'utilise SPIP 3.1.7 associé à mod_pagespeed pour optimiser les images
...

Je teste l'utilisation canoniques des javascript suivants :

<script src="squelettes/javascript/jquery-1.12.4.js"></script>
<script src="squelettes/javascript/jquery.form-3.51.0.js"></script>
<script src="squelettes/javascript/jquery.autosave.js"></script>
<script src="squelettes/javascript/jquery.placeholder-
label.js"></script>
<script src="squelettes/javascript/ajaxCallback.js"></script>
<script src="squelettes/javascript/jquery.cookie.js"></script>

Avec le filtre "ModPagespeedEnableFilters
canonicalize_javascript_libraries", mod_pagespeed identifie les
librairies disponibles sur Googleapi et incluse dans les squelettes (le
html), et canonise "automatiquement" celles qu'il connait.

Par exemple :

<script src="squelettes/javascript/jquery-1.12.4.js"></script>

devient :

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> ;

Ce qui permet d'obtenir une réponse 304 si le visiteur du site a déjà
visité un site avec cette librairie. Ce qui est fort propable et évite
donc son téléchargement.

Sans mod_pagespeed, il suffit d'inclure directement l'URL https://ajax
.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js .

Pour :

squelettes/javascript/jquery.form-3.51.0.js il y a https://cdn.jsdeli
vr.net/npm/jquery-form@3.50.0/jquery.form.min.js

squelettes/javascript/jquery.cookie.js il y a https://cdn.jsdelivr.net/
npm/jquery.cookie@1.4.1/jquery.cookie.min.js

Cela fait 3 des 6 librairies disponibles sur CDN.

Il manque/manquait :

squelettes/javascript/jquery.autosave.js

squelettes/javascript/jquery.placeholder-label.js

squelettes/javascript/ajaxCallback.js

Ces librairies sont disponibles maintenant aux adresses :

https://cdn.jsdelivr.net/gh/opalesurfcasting/jquery.autosave@v1.0/jquer
y.autosave.min.js

https://cdn.jsdelivr.net/gh/opalesurfcasting/jquery.placeholder-label@v
1.0/jquery.placeholder-label.min.js">

https://cdn.jsdelivr.net/gh/opalesurfcasting/ajaxCallback.js@v1.0/ajaxC
allback.min.js

Cependant, pour pleinement en exploiter les bénéfices, il serait
préférable d'avoir quelque chose du type :

https://cdn.jsdelivr.net/gh/spip/SPIP/prive/javascript/jquery.autosave.
js@spip-3.1.6/jquery.autosave.min.js

https://cdn.jsdelivr.net/gh/spip/SPIP/prive/javascript/jquery.placeholder-label.js@spip-3.1.6/jquery.placeholder-label.min.js">

https://cdn.jsdelivr.net/gh/spip/SPIP/prive/javascript/ajaxCallback.js@spip-3.1.6/ajaxCallback.min.js

ainsi, le chargement de ces librairies seraient "canonisées" pour tous
les usagers de SPIP (ici 3.1.6, pas de tag spip-3.1.7 sur le dépot
Github SPIP).

Pour les éventuels utilisateurs de mod_pagespeed, l'ajout des lignes
suivantes à pagespeed.conf suffit pour activer la "canonisation" sans
toucher aux squelettes:

##Librairies disponibles sur jsdelivr.net

ModPagespeedLibrary 19531 6GKok1X3WdAPsjnOlsZ6G \
cdn.jsdelivr.net/npm/jquery-form@3.50.0/jquery.form.min.js

ModPagespeedLibrary 1801 h-wYRZaviFW7fMplVK8sH \
cdn.jsdelivr.net/npm/jquery.cookie@1.4.1/jquery.cookie.min.js

##Librairies disponibles sur jsdeliver.net par le biais de mes dépots
Github

ModPagespeedLibrary 741 Ppl_Ry-HtT_ZvQ-n3zm_Q \
cdn.jsdelivr.net/gh/opalesurfcasting/jquery.autosave@v1.0/jquery.aut
osave.min.js

ModPagespeedLibrary 1074 y25eNqWaxVpFF5D96VREu \
cdn.jsdelivr.net/gh/opalesurfcasting/jquery.placeholder-label@v1.0/j
query.placeholder-label.min.js

ModPagespeedLibrary 21074 NvlVPCOPnd86d229dLuoo \
  //cdn.jsdelivr.net/gh/opalesurfcasting/ajaxCallback.js@v1.0/aja
xCallback.min.js

# remplacer par celles disponibles sur le dépot Github de spip pour
plus de mutualisation

ModPagespeedLibrary 741 Ppl_Ry-HtT_ZvQ-n3zm_Q \
cdn.jsdelivr.net/gh/
spip/SPIP/prive/javascript/jquery.autosave@spip-3.1.6/jquery.autosave.m
in.js

ModPagespeedLibrary 1074 y25eNqWaxVpFF5D96VREu \
cdn.jsdelivr.net/gh/spip/SPIP/prive/javascript/jquery.placeholder-label@spip-3.1.6/jquery.placeholder-label.min.js

ModPagespeedLibrary 21074 NvlVPCOPnd86d229dLuoo \
  //cdn.jsdelivr.net/gh/spip/SPIP/prive/javascript/ajaxCallback.js@spip-3.1.6/ajaxCallback.min.js

Bien entendu plus il y aura d'utilisateur, plus le bénéfice pour chacun
sera intéressant.

Seul, cela ne sert à rien.

Qu'en pensez vous ?

Cordialement,

Eric

Salut,

<INCLURE{fond=democratie,env,id=#ENV{id}}> ne serait pas plus judicieux ? Ca me parait étrange de faire passer des variable dans env de cette manière…

Cordialement

Le problème persiste…

Teenoo
boiron.laetitia@gmail.com

Essaye de pister ce qui passe dans env (ou pas) dans tes différentes inclusions en mettant ça dedans
[

(#ENV**|unserialize|print_r{1})
]

Salut,

As-tu pense a mettre une fonction formulaires_vote_charger($id_vote) ?

Juliette

On Saturday, 2 December 2017, 4:37, Laetitia boiron boiron.laetitia@gmail.com wrote:

Bonjour,

Je travaille actuellement sur un plugin de votes par des comptes actifs (id_auteur). Jusque là tout va pas trop mal avec La Fabrique (juste un soucis avec l’édition qui n’affiche rien en BO).

J’ai surtout un soucis étrange, j’appelle mon formulaire avec un lien Ajax et un paramètre URL id qui prend l’idée d’un vote.

<BOUCLE_democratie(VOTES){tout}>

#TITRE

<INCLURE{fond=democratie,env=#ENV{id}}>

</B_democratie>

Mon inclure affiche

<BOUCLE_levote(VOTES){id_vote=#ENV{id}}>

#FORMULAIRE_VOTE{#ID_VOTE}

</BOUCLE_levote>

Et mon formulaire ne reconnait ni #ID_VOTE ni #ENV{id} impossible de trouver l’#ENV alors que tout charge en Ajax.
Je ne comprends pas… j’ai regardé dans tous les sens, il veut pas récupérer cet id car si je met le chiffre ça marche super.

Mon formulaire_vote

<BOUCLE_vote(VOTES){id_vote=1}>

#SET{reponse, #ARRAY{reponse1,#REPONSE1,reponse2,#REPONSE2}}
[(#REPONSE3|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse3,#REPONSE3}}})] ]
[(#REPONSE4|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse4,#REPONSE4}}})] ]
[(#REPONSE5|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse5,#REPONSE5}}})] ]
[(#REPONSE6|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse6,#REPONSE6}}})] ]

[(#ENV{masquer_question}|non)
#TITRE
] [
(#ENV*{message_ok})
] [
(#ENV*{message_erreur})
]

[(#ENV**{editable}|oui)

#ACTION_FORMULAIRE{#ENV{action}}
    [(#SAISIE{radio, vote, datas=#GET{reponse}} )]

]

Des idées ?

Teenoo


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Trouvé ! J’ai transformé mon #ENV{id) et en #ENV{id_vote} et j’appelle le critère {id_vote} tout simple :slight_smile: Merci pour votre aide !

Teenoo

Le 2 déc. 2017 à 09:29, bris juliet <juliette_bris@yahoo.com> a écrit :

Salut,

As-tu pense a mettre une fonction formulaires_vote_charger($id_vote) ?

Juliette

On Saturday, 2 December 2017, 4:37, Laetitia boiron <boiron.laetitia@gmail.com> wrote:

Bonjour,

Je travaille actuellement sur un plugin de votes par des comptes actifs (id_auteur). Jusque là tout va pas trop mal avec La Fabrique (juste un soucis avec l’édition qui n’affiche rien en BO).

J’ai surtout un soucis étrange, j’appelle mon formulaire avec un lien Ajax et un paramètre URL id qui prend l’idée d’un vote.

<BOUCLE_democratie(VOTES){tout}>

#TITRE

<INCLURE{fond=democratie,env=#ENV{id}}>

</B_democratie>

Mon inclure affiche

<BOUCLE_levote(VOTES){id_vote=#ENV{id}}>

#FORMULAIRE_VOTE{#ID_VOTE}

</BOUCLE_levote>

Et mon formulaire ne reconnait ni #ID_VOTE ni #ENV{id} impossible de trouver l’#ENV alors que tout charge en Ajax.
Je ne comprends pas… j’ai regardé dans tous les sens, il veut pas récupérer cet id car si je met le chiffre ça marche super.

Mon formulaire_vote

<BOUCLE_vote(VOTES){id_vote=1}>

#SET{reponse, #ARRAY{reponse1,#REPONSE1,reponse2,#REPONSE2}}
[(#REPONSE3|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse3,#REPONSE3}}})] ]
[(#REPONSE4|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse4,#REPONSE4}}})] ]
[(#REPONSE5|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse5,#REPONSE5}}})] ]
[(#REPONSE6|trim|oui) [(#SET{reponse,#GET{reponse}|array_merge{#ARRAY{reponse6,#REPONSE6}}})] ]

[(#ENV{masquer_question}|non)
#TITRE
] [
(#ENV*{message_ok})
] [
(#ENV*{message_erreur})
]

[(#ENV**{editable}|oui)

#ACTION_FORMULAIRE{#ENV{action}}
    [(#SAISIE{radio, vote, datas=#GET{reponse}} )]

]

Des idées ?

Teenoo


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc