[spip-dev] [SPIP Zone] passer des variables au sortir d'un formulaire cvt

(je bascule sur spip-dev)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

dans le tableau $retour de la fonction traiter d'un formulaire cvt
je veux placer une variable $mavariable
pour en exploiter la valeur dans une balise #ENV*{mavariable} de mon
squelette

or la fonction function traiter_formulaires_dynamiques($get=false)
du fichier aiguiller.php reçoit bien ladite variable mais ne la transmet
pas dans le tableau $post, là où elle range message_ok_$form et
editable_$form

pourtant c'est écrit dans un commentaire de la fonction :
le retour de traiter peut avoir 3 formats
...
- - tableau explicite
('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)

je suppose donc qu'on fait quelque chose avec ce id_xx, non ?

rha la la, quel filou qui va lire le code !
l'id_xx de l'objet cree ou modifie est la pour les plugins qui peuvent ainsi ajouter des traitements.

alors comment doit-on faire pour transmettre $mavariable au squelette ?

Actuellement, ce n'est pas prévu.
On pourrait proposer que le retour de traiter puisse ajouter un champ
'valeurs'=>array('var1'=>xxx,'var2'=>yyy);

qui serait récupéré par CVT et superposé au tableau $valeurs issu de charger().

Cela permettrait de prédéfinir certaines valeurs depuis traiter pour le squelette du formulaire, mais :
- les dites infos ne seront pas visibles dans la fonction charger()
- elles surchargeront celles fournies par charger ()
- elles seront surchargées ensuites par un eventuel request('var1') issu du post.

On pourrait intervertir les deux dernieres priorités si vous voulez, ce qui permettrait d'utiliser cette fonctionnalité pour ignorer la saisie qui vient d'etre postée en cas de nouvelle saisie à suivre.

Qu'en dites vous ?

Sinon, en l'état actuel, la seul solution est de reinjecter dans request() avec un set_request('var1',xxx)

Cédric