[ar] [ca] [cpf] [de] [en] [es] [fr] [it]

Ce forum d’entraide est recommandé pour les utilisateurs et utilisatrices occasionnels de SPIP (Système de publication pour l’Internet). Avant de poser une question, faites une recherche sur ce site, consultez les liens utiles. Si vous ne trouvez pas de réponse, postez votre message dans la rubrique appropriée, avec un titre explicite.

Sujets : 24111 Sujets résolus :  39 %

67 visiteurs en ce moment


Accueil > Forums de discussion >  Création de squelettes > Passage de paramètres à un formulaire ?

Passage de paramètres à un formulaire ?

par Z - 20 avril 2010 16:05 - Réponse(s) : 7

Bonjour à toutes zé à tous,

Je voudrais utiliser le mécanisme des formulaires pour trier un tableau de résultats, en ayant ajouté à ma boucle
par #ENVtriinverse #ENVsenstri
Ainsi, je repasserais en champs cachés le contenu de tous les paramètres de ma boucle à l’origine de ce tableau, pour le pas perdre les paramètres de recherche.

J’ai 2 questions :
- Je dois pouvoir trier selon 3 champs différents, et dans les 2 sens (ascendant et descendant). Il serait idiot de faire 6 formulaires, alors qu’en lui passant mes 2 paramètres tri et senstri, je pourrais n’en faire qu’un seul, avec des tests à l’intérieur. Problème : impossible de lire un paramètre passé à un formulaire, avec par exemple : #FORMULAIRE_TRI#ENVtri,titre
Même question pour tous les critères de la boucle que je dois repasser en champ cachés, je ne les récupère pas dans le formulaire

- D’autre part, je ne comprends pas pourquoi le code généré de ce formulaire m’insère un affreux "titre1" qui sort de je ne sais où... Est-ce que ça vient du fait que mon submit est un bouton image ?

Le code du formulaire :

<form action='#ENV{action}#res' method='post'>
        #ACTION_FORMULAIRE{#ENV{action}}
        #ENV{tri,titre}
        #ENV{senstri,1}
        #ENV{idregion}
        #ENV{iddepartement}
        (...)
        <input type="image" src="[(#CHEMIN{images/asc.png})]" name="ascendant" value="ascendant" alt="Tri ascendant par titre" />
</form>

Merci de votre aide !
Z


  • Bonjour Z,
    Essaye de récupérer ta variable « senstri » avec un
    [(#EVAL_request(’senstri’))].

    Bonne continuation
    Cyril


  • Il faut lire :

    [(#EVAL{_request('senstri')})]

    ++
    Cyril


  • < #3 > Passage de paramètres à un formulaire ? ˆ
    par Z - 20 avril 2010 18:15

    Hello Cyril :-)

    Merci pour cette indication,
    J’ai testé ceci :
    - appel du formulaire avec :
    #FORMULAIRE_TRI{senstri=1}
    et
    #FORMULAIRE_TRI{#ENV{senstri,1}}

    - récupération de sa valeur dans un input :

    <input type="text" value="[(#EVAL{_request('senstri')})]" />

    Et aucune de ces combinaisons ne marchent :-(
    Est-ce qu’il y a quelque chose dans la syntaxe qui te paraît bizarre ?

    Et pour ce "titre1" qui apparaît dans mon formulaire, j’ai essayé de remplacer le bouton image par un submit normal, ça ne change rien, donc le problème ne vient pas de là ...

    Merci pour ton aide,

    Z


  • Essaye de passer la variable depuis le squelette, vers le formulaire, tout d’abord en l’initialisant ainsi dans le squelette appelant le formulaire :

    #SET{senstri='asc'}
    #FORMULAIRE_TRI

    Puis dans le formulaire « tri.html » lui même :

    [<h1>Controle ! Le sens de tri = (#EVAL{_request('senstri')})</h1>]

    Dès que ceci passera, tu pourra déclarer un nouveau #SET dans le formulaire, afin de manipuler « senstri » plus facilement :

    [(#SET{senstri, [(#EVAL{_request('senstri')})])]

    <h1>Le sens de tri est #GET{senstri}</h1>

    Tout au long de ta mise au point, tu peux afficher une petite fenêtre qui te détaillera ton environnement, ça te donnera des indications très utiles pour savoir comment se nomment les variables, et si SPIP les a prises en compte ou non ; copie/colle ceci dans ton squelette ou ton formulaire :

    <pre style="background:orange;color:black;position:fixed;top:0;left:0;text-align:left;padding:8px">
    [(#ENV**|unserialize|print_r{1})]
    </pre>

    Bon développement !
    ++
    Cyril


  • < #5 > Passage de paramètres à un formulaire ? ˆ
    par Z - 22 avril 2010 13:54

    Hello Cyril

    Merci ! J’aime bien ta petite fenêtre de débug !
    On avance à petits pas...
    Après des tests et des tests, j’arrive ENFIN à récupérer une valeur dans mon formulaire avec [(#EVAL{_request(xxx)})] (et sans passer d’argument explicite à #FORMULAIRE_TRI), dès lors que celle-ci se trouve dans l’environnement du squelette appelant.

    En revanche, impossible de récupérer une valeur explicitement positionnée avec #SET juste avant le formulaire. Cette variable reste désespérement vide... (jai aussi essayé #ENV{senstri,asc} sans succès).
    Des idées là dessus ???

    Mais je ne désespère pas !
    Et en tout cas, merci !!

    Z


  • Hello Z,

    Les variables mises en place avec #SET ne se transmettent pas vers les include ou les formulaires. C’est donc normal que ton #GET reste vide.

    En revanche le _request() (donc par là même le [(#EVAL{_request(xxx)})]) est une bonne manière d’aller chercher des variables : voir en ligne le chapitre idoine sur programmer SPIP.

    Bonne programmation,

    Cyril


  • < #7 Passage de paramètres à un formulaire ? ˆ
    par Z - 22 avril 2010 16:24

    Merci Cyril

    En fait, j’essayais de faire comme tu disais plus haut (dans le post #4) :

    #SET{xxx,valeur} dans l’appelant, et [(#EVAL{_request(xxx)})] dans le formulaire (je n’ai pas utilisé #GET). Mais en effet, ça ne passe pas non plus.

    Or il faudrait vraiment que j’arrive, d’une manière ou d’une autre à positionner tri et senstri si je veux factoriser mon formulaire.

    D’après ton article, _request peut aller récupérer des variables dans l’URL, c’est donc peut-être là qu’il faut que je place mes 2 variables, plutôt que dans mon squelette ? (même si je ne vois pas trop comment...)

    Sinon, je fais 6 formulaires en indiquant en dur le champ du tri et le sens... enfin, si j’arrive à supprimer ce "titre1" qui est toujours là, le bougre !

    Merci,

    Z




Répondre à la question

« Passage de paramètres à un formulaire ? »

Mots-clés

Vous pouvez étiqueter cette page de forum avec les mots-clés qui vous semblent les plus appropriés ; ils permettront aux prochains visiteurs du site de mieux se repérer :


Installation, mise à jour

Utilisation de l’espace privé

Administration, gestion, configuration du site

Créer ses squelettes

Qui êtes-vous ?

  • Comment faire pour rattacher un formulaire a liste déroulant à une table de la base ?

    15:53

    Réponse(s) : 2

    Perso je comprends pas ta question et encore moins ton code :<. Spip à une syntaxe qui est plutôt bien documenter. <form action="url" method="post"> <select (...)

  • Galerie d'image lightbox slider adaptable

    par Jhessy
    12:05

    Résolu - Réponse(s) : 4

    Merci pour ton aide mais j’ai finalement opté pour un plugin, qui le plugin Galleria. Donc je vais mettre ce sujet résolut.

  • afficher valeurs par ordre croissant

    par Manu
    05:08

    Réponse(s) : 1

    As-tu essayé "par chambre" ? <BOUCLE_filtrevue(ARTICLES)id_rubriquepar chambre>

  • Probleme avec mediabox spip3.1.6

    par chti47
    25 juillet 15:49

    Résolu - Réponse(s) : 12

    CA MARCHE !! Merci beaucoup à tous d’avoir pris du temps pour mon problème ! J’aime ce forum spip ! Chti47

  • Comment faire pour créer un formulaire a liste déroulante qui est rataché a une table de la base (...)

    par Jhessy
    24 juillet 16:53

    Pas de réponse

    Bonjour les amis ! ET merci d’avance pour vos réponses :) Alors je vous fais le topo. Ce que je souhaite faire, c’est d’inséré sur ma page, une liste déroulante qui contiendra des mots-clés qui sont (...)

  • creer ou bien modifier son article côté public via un modèle

    par Laëtitia
    22 juillet 18:16

    Résolu - Réponse(s) : 4

    Je remarque une chose, si il y a 1 document dans le portfolio du rédacteur il peut en charger d’autres sur sa page publique, mais c’est quand il n’y en a pas encore que le chargement ne se fait pas (...)

  • pb spip/spipr et test robots google

    par Didine
    19 juillet 20:07

    Résolu - Réponse(s) : 7

    Bonjour, je suis désolée mais le problème est de retour sur ce site alors que ça fonctionnait après notre échange. Le problème se pose sur plusieurs sites SPIP... peut-être est-ce dû aux modifications (...)

  • Appeler squelette

    par Mickael
    17 juillet 19:26

    Résolu - Réponse(s) : 2

    Ok, effectivement j’ai des articles qui ont perdu leur affectation :s, du coup je me retrouve avec une rubrique vide... Merci beaucoup

  • Update de la table auteurs

    par Luc
    17 juillet 11:25

    Réponse(s) : 3

    Merci, mais en fait je n’ai aucun problème à afficher les auteurs connectés en récupérant les infos de la table auteurs ; ce que je cherche, c’est faire en sorte que les auteurs connectés updatent la (...)

  • plugin SAISIES & messages d'erreur

    par Keny972
    7 juillet 14:57

    Pas de réponse

    Bonjour, J’utilise en local le plugin SAISIES pour gérer un formulaire de création d’objet éditorial. Je cherche comment ajouter à un champ SAISIES une span message_erreur ? Pas le message (...)

  • Messages : 29336
  • 8202 43 %
  • Poser une nouvelle question