[spip-dev] Modele formulaire email bizarre

Bonjour à tous :slight_smile:

Voici un comportement inexplicable :

Je voudrais afficher le formulaire d'envoi d'e-mail
de l'auteur principal du site dans le corps d'un article.

Jusqu'à là pas de soucis, j'ai créé un modèle nommé
"form_email" que je place dans l'article de la manière
suivante : <form1|email>.

Ok, le formulaire s'affiche sans aucun soucis, mais
le formulaire produit un comportement différent
suivant la nature de l'Url, ainsi, lorsque j'ai une Url :

?page=sommaire&id_auteur=1&id_rubrique=4&id_article=28

Le formulaire n'envoie rien du tout, ça ne marche pas...
En revanche, avec une Url de ce type :

?page=sommaire&id_auteur=1&id_rubrique=4&id_mot=17

Tout fonctionne correctement :-/

En fait, seulement le dernier argument est différent,
avec le "id_article" ça ne fonctionne pas alors qu'avec
le "id_mot" ça marche impeccable... bizarre non ?

Quelqu'un aurait un début d'explication, ou alors
une quelconque piste de solution ?

Merci à tous :slight_smile:

C'est étrange, lorsque j'ajoute le "id_mot=17" à l'Url suivante :

?page=sommaire&id_auteur=1&id_rubrique=4&id_article=28

Tout fonctionne bien à nouveau... :-/

On dirait que l'analyse des arguments de l'Url se fait un peu
bizzarrement, pourquoi la présence de "id_mot" serait nécessaire
pour que le formulaire fonctionne correctement ?

Je suis un peu pommé là :-/

Toute aide ou explication serait la bienvenue...

Merci :slight_smile:
Fredo

Bon bon, j'y comprends de moins en moins :-/

Je viens de tester une Url de ce type :

?article28

Tout fonctionne nickel-chrome, mais dès que j'utilise
une Url de ce type :

?page=article&id_article=28

Là bizarrement ça ne marche plus :frowning:

Dans les deux cas le formulaire s'affiche sans soucis,
mais l'envoi du message ne fonctionne pas avec
la deuxième Url...

Bon, bein, je patôge grâve lâ... si vous avez la moindre idée,
n'hésitez pas, je tourne en rond depuis 2 heures lâ :frowning:

Merci à tous :slight_smile:
Fredo

Et le PHP du CVT lié à ce formulaire il dit quoi ?

Il récupère comment les arguments ? Il charge quoi ?

Bonjour XDjuj, merci pour ta réponse :slight_smile:

XDjuj <XDjuj <at> apsulis.com> writes:

Et le PHP du CVT lié à ce formulaire il dit quoi ?

Il récupère comment les arguments ? Il charge quoi ?

Oulà... je n'ai pas tout pigé là :frowning:

Que dois-je regarder, où et comment ?

Oui, désolé, j'ai un niveau bien modeste en dev,
faudrait me guider un peu pour que je puisse comprendre
ce qu'il faut faire, là je suis un peu perdu j'avoue...
merci de ton indulgence :slight_smile:

Si tu as besoin d'autres précisions pour mieux
cerner le problème, n'hésites pas, je tâcherai de faire
de mon mieux...

Encore merci pour ta réponse... :slight_smile:
Fredo

:slight_smile:

Tu utilises le formulaire classique de SPIP (squelettes-dist/formulaires/ecrire_auteur.html) ?

De ce que je lis il a besoin qu'on lui donne :
id_auteur / id_article et mail...

Est-ce qu'il ne lui manquerait pas une donnée ?

XDjuj <XDjuj <at> apsulis.com> writes:

Tu utilises le formulaire classique de SPIP (squelettes-dist/
formulaires/ecrire_auteur.html) ?

Oui, c'est exactement celui-là, j'ai juste un peu retouché
le Html, sans modifier les balises et filtres présents.

De ce que je lis il a besoin qu'on lui donne :
id_auteur / id_article et mail...

Est-ce qu'il ne lui manquerait pas une donnée ?

Au fait, l'Url que j'utilise contient bien le "id_autuer" et
le "id_article", mais pas "mail", il est de ce type :

?page=sommaire&id_auteur=1&id_rubrique=4&id_article=28

Le formulaire s'affiche sans soucis, mais ça ne fonctionne pas :frowning:

Dois-je ajouter ou enlever quelque chose à ton avis ?

Merci en tout cas de te pencher sur mon "petit" problème :wink:

Fredo

Bonjour,

Il me semble qu'il faut qu'il soit inclus dans une boucle auteur...
Sinon mettre en paramètre à la balise formulaire un #ENV{id_auteur} etc

Cordialement,

Teddy Payet

Bon, je continue avec mes tests... :-/

Alors, j'ai regardé le code Html généré par le formulaire
avec les deux Urls dont j'ai besoin, à savoir :

1. ?page=sommaire&id_auteur=1&id_rubrique=4&id_mot=17

2. ?page=sommaire&id_auteur=1&id_rubrique=4&id_article=28

Alors, voici les codes générés :

1.
<input name="page" value="sommaire" type="hidden" />
<input name="id_rubrique" value="4" type="hidden" />
<input name="id_mot" value="17" type="hidden" />
<input type='hidden' name='formulaire_action' value='ecrire_auteur' />

2.
<input name="page" value="sommaire" type="hidden" />
<input name="id_rubrique" value="4" type="hidden" />
<input type='hidden' name='formulaire_action' value='ecrire_auteur' />

Là on voit bien que dans le deuxième cas, celui qui pose problème,
le "id_article" n'est pas pris en compte puisqu'il n'y a pas de "input"
invisible portant cette information.

Je ne sais pas si ça peut venir de là, mais je continue à chercher...
Enfin, si jamais cette piste s'avère la bonne, où dois-je regarder
pour palier à ce problème ?

Si vous avez d'autres idées, je suis toujours preneur :slight_smile:

Merci,
Fredo

Merci pour ta réponse Teddy :slight_smile:

Teddy Payet <teddy.payet <at> gmail.com> writes:

Bonjour,

Il me semble qu'il faut qu'il soit inclus dans une boucle auteur...
Sinon mettre en paramètre à la balise formulaire un #ENV{id_auteur}
etc

Oui, le modèle comporte donc une boucle "AUTEUR", de ce type :

<BOUCLE_auteur(AUTEURS) {id_auteur=#ENV{id_auteur,1}}>
#FORMULAIRE_ECRIRE_AUTEUR
</BOUCLE_auteur>

Faut-il mettre d'autres infos ou passer d'autres variables ?

Bref, je sèche là :frowning:

Merci tout de même :slight_smile:

Fredo

Ton écriture #ENV{id_auteur,1} signifie sinon id_auteur=1?
tester: [(#ENV{id_auteur}|sinon{1})]...
J'ai vu passer sur une des listes que les accolades avaient du mal... Mais a tester non?

Cordialement,

Teddy Payet

D'après le fichier PHP du CVT... Moi j'écrirai quelque chose comme :

#FORMULAIRE_ECRIRE_AUTEUR{#ID_AUTEUR,#ID_ARTICLE,MailDenvoi@Domaine.Com}

Donc avec les boucles autour qui vont bien pour que id_auteur et id_article soient bien renseignés, le 3è paramètre d'adresse d'envoi est je pense pas forcément nécessaire sauf si tu veux uniformiser les envois avec une adresse particulière.

(à tester je dis ça à la volée)

Teddy Payet <teddy.payet <at> gmail.com> writes:

Ton écriture #ENV{id_auteur,1} signifie sinon id_auteur=1?
tester: [(#ENV{id_auteur}|sinon{1})]...
J'ai vu passer sur une des listes que les accolades avaient du mal...
Mais a tester non?

En effet, je viens de tester mais, hélas, ça ne change pas
le fonctionnement du formulaire... merci tout de même :slight_smile:

En tout cas, ce qui m'échappe totalement c'est que le plupart
des Urls fonctionnent très bien, par exemple :

?page=sommaire&id_rubrique=4&id_mot=17

?page=sommaire&id_auteur=1&id_rubrique=4&id_mot=17

?page=sommaire&id_auteur=1&id_rubrique=4&id_article=28&id_mot=17

?page=sommaire&id_rubrique=4&id_article=28&id_mot=17

Mais bizarrement pas celle-ci :

?page=sommaire&id_auteur=1&id_rubrique=4&id_article=28

Je n'y comprends plus rien :frowning:

Bon, encore une demi-heure à chercher puis j'arrête,
il faudra que je bricole une solution spécifique et non portable,
mais bon, je ne peux pas coincer sur ce truc pendant deux jours...

Merci à tout ceux qui sont venus à mon secours et n'hésitez pas
à me faire part de vos idées, même farfelues, on ne sait jamais :wink:

Merci, @+ :slight_smile:
Fredo

XDjuj <XDjuj <at> apsulis.com> writes:

D'après le fichier PHP du CVT... Moi j'écrirai quelque chose comme :

#FORMULAIRE_ECRIRE_AUTEUR{#ID_AUTEUR,#ID_ARTICLE,MailDenvoi <at> Domaine.Com}

Donc avec les boucles autour qui vont bien pour que id_auteur et
id_article soient bien renseignés, le 3è paramètre d'adresse d'envoi
est je pense pas forcément nécessaire sauf si tu veux uniformiser les
envois avec une adresse particulière.

(à tester je dis ça à la volée)

Merci XDjuj pour cette piste, je viens d'essayer mais,
malheureusement, toujours pareil, ça ne marche pas :frowning:

Bon, la nuit porte conseil dit-on, alors on verra demain,
si ça se trouve c'est tout bête, mais là, franchement,
je n'y vois plus rien...

Encore merci pour ton aide, si je trouve la soluce,
je vous en ferait évidemment part...

@+ :slight_smile:
Fredo

je veux pas jouer les empêcheurs de tourner en rond, mais
peut-être basculer cette discussion sur la liste .user.
non ?

FredoMkb <fredomkbfr <at> yahoo.fr> writes:

si je trouve la soluce, je vous en ferait évidemment part...

Et bien ça y est, je crois que j'ai trouvé :slight_smile:

En fait, dans le formulaire, l'Url d'action de la balise "form"
était construit avec la syntaxe suivante :

action='#ENV{action}#formulaire_ecrire_auteur#ENV{id}'

J'ai donc juste remplacé "#ENV{action}" par "#SELF" et
l'Url se construit entièrement, avec toutes les variables
présentes dans l'Url originale.

Voilà, je ne sais pas si ce remplacement peut causer
d'autres soucis, en tout cas, pour l'instant, ça a l'air de
très bien fonctionner.

Encore une fois merci à tous pour votre aide, en espérant
ne pas avoir trop pollué cette liste avec mes questions
à deux balles :wink:

Merci, @+ :slight_smile:
Fredo