[SPIP Zone] Faire passer une variable dans un formulaire

Bonjour,
J’ai un SPIP 209 avec (entre autres) abonnement 0.8 et inscription2.
je veux faire passer dans mes squelettes une variable (dans l’url, type &choix_abo=2) qui me permettrait de sélectionner un abonnement.
Dans mon squellette, j’ai la balise #FORMULAIRE_INSCRIPTION2
Je pourrais modifier le fichier php correspondant pour lui faire traiter la variable, mais il s’agit du plugin abonnement qui ajoute la partie du formulaire correspondant via un pipeline, et là je n’y arrive pas.
Quelqu’un aurait-il une petite piste ou une autre solution ?
Merci d’avance

PS j’avais déja posté sur la liste spip (http://article.gmane.org/gmane.comp.web.spip.user/146655) mais sans plus de succès

Jeannot

Hello,
Ta question est sans réponse peut être car trop dans le vague
donc comme sans réponse, voici en vrac quelques pièces d'un mécano
(assez banales mais généralement utiles) :
- utiliser #ENV pour récupérer une valeur passée en url
- redéfinir le formulaire (squelette et/ou CVT php) dans ton répertoire squelette
- utiliser un champ de saisie hidden dans le formulaire pour stocker une valeur
Bonne chance,
JLuc

Jeannot a écrit :

Bonjour,
J'ai un SPIP 209 avec (entre autres) abonnement 0.8 et inscription2.
je veux faire passer dans mes squelettes une variable (dans l'url, type &choix_abo=2) qui me permettrait de sélectionner un abonnement.
Dans mon squellette, j'ai la balise #FORMULAIRE_INSCRIPTION2
Je pourrais modifier le fichier php correspondant pour lui faire traiter la variable, mais il s'agit du plugin abonnement qui ajoute la partie du formulaire correspondant via un pipeline, et là je n'y arrive pas.
Quelqu'un aurait-il une petite piste ou une autre solution ?
Merci d'avance

PS j'avais déja posté sur la liste spip (http://article.gmane.org/gmane.comp.web.spip.user/146655) mais sans plus de succès

Jeannot

Merci JLuc

J’ai trouvé la réponse à mon problème:
J’ai modifié le formulaire CVT de INSCRIPTION2 pour qu’il prenne en compte la variable de cette façon:
1 - dans le squelette je met :#FORMULAIRE_INSCRIPTION2{#SESSION{id_auteur},‹  ›,#ENV{choix_abo}}
2 - dans le fichier inscription2.php j’ai modifié la ligne :
function formulaires_inscription2_charger_dist($id_auteur = NULL,$redirect = null,$choix_abo = ‹  ›)
puis ajouté dans cette fonction : $champs[‹ abonnement ›] = $choix_abo;
avant le passage via le pipeline ‹ i2_charger_formulaire ›
3 - dans le fichier abonnement_pipeline.php j’ai modifié la fonction ‹ abonnement_i2_charger_formulaire($flux) › pour faire un test sur la variable $flux[‹ data ›][‹ abonnement ›] qui corresponde à mes souhaits.

Ce que je n’avais pas compris auparavant, c’est que le formulaire CVT faisait passer des infos via le pipeline ci-dessus et les récupérait ensuite après traitement. Les premiers test semblent fonctionner.

Merci d’avoir pris le temps de me répondre.

Le 9 septembre 2009 09:51, JLuc <jluc@no-log.org> a écrit :

Hello,
Ta question est sans réponse peut être car trop dans le vague
donc comme sans réponse, voici en vrac quelques pièces d’un mécano
(assez banales mais généralement utiles) :

  • utiliser #ENV pour récupérer une valeur passée en url
  • redéfinir le formulaire (squelette et/ou CVT php) dans ton répertoire squelette
  • utiliser un champ de saisie hidden dans le formulaire pour stocker une valeur
    Bonne chance,
    JLuc

Jeannot a écrit :

Bonjour,
J’ai un SPIP 209 avec (entre autres) abonnement 0.8 et inscription2.
je veux faire passer dans mes squelettes une variable (dans l’url, type &choix_abo=2) qui me permettrait de sélectionner un abonnement.
Dans mon squellette, j’ai la balise #FORMULAIRE_INSCRIPTION2
Je pourrais modifier le fichier php correspondant pour lui faire traiter la variable, mais il s’agit du plugin abonnement qui ajoute la partie du formulaire correspondant via un pipeline, et là je n’y arrive pas.
Quelqu’un aurait-il une petite piste ou une autre solution ?
Merci d’avance

PS j’avais déja posté sur la liste spip (http://article.gmane.org/gmane.comp.web.spip.user/146655) mais sans plus de succès

Jeannot


spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone