[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 : 24004 Sujets résolus :  39 %

31 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 ?

  • Utilisation de Bootstrap pour afficher des articles SPIP

    par Lucie
    01:26

    Réponse(s) : 1

    Re-bonjour, Bon, je parviens à faire figurer les articles sur plusieurs colonnes et rangées en incluant du code bootstrap avec le code suivant : <div class="row"> <div (...)

  • Logo en image de fond

    par rezki
    24 avril 13:23

    Réponse(s) : 2

    Merci beaucoup. Je teste ça.

  • Insertion logo et document espace public

    par Teenoo
    21 avril 10:16

    Pas de réponse

    Bonjour, je suis coincée depuis plusieurs mois avec un problème. J’ai créé un site intranet avec création d’articles, insertion de docs, agenda, forum... depuis l’espace publique. Seulement, les (...)

  • filtre parametre_url et formulaire

    par Didine
    21 avril 07:02

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

    Bonjour, finalement ça fonctionne parfaitement avec le filtre |affdate Merci à tous.

  • Template html5up-strongly-typed à la sauce SPIP

    par b_b
    20 avril 20:12

    Réponse(s) : 2

    Super, et merci d’avance pour le partage de ta contribution sur la zone :)

  • Formulaire et appel de fonction

    par Didine
    20 avril 18:01

    Pas de réponse

    Bonjour, j’ai ajouté un formulaire sur ma page qui me permet de faire un tri dans mes locations. Depuis ce formulaire je dois tester si la date sélectionnée correspond bien un samedi. Comment (...)

  • le critère tout n'a aucun effet sur ma boucle rubrique

    par erational
    18 avril 10:07

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

    bon je passe donc en résolu

  • Comment modifier un menu ?

    par JBBJ
    13 avril 01:33

    Réponse(s) : 13

    Sinon, vous avez une idée comment faire pour ajouter un lien vers le blog directement dans le menu ? J’ai regardé pendant une heure mais je n’ai rien trouvé sur le forum :( Merci (...)

  • LIKE ne passe pas

    par brain_damage
    11 avril 19:04

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

    Salut, Que ça passe dans l’url ou en ajax c’est la même chose : il s’agit d’une requête GET ou POST. Les variables #ENVid_rubrique #ENVid_mot sont implicites pour les critère id_mot? id_rubrique? Je (...)

  • Plugin Galleria bug sur la page sommaire

    par clémentb
    8 avril 12:44

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

    Oui, pardon en effet. Je ne l’ai pas dis parceque j’ai décidé de ne pas utiliser le plugin Galleria sur ma page sommaire mais un autre script de galerie jquery que j’ai adapté à ma sauce.. il s’agit (...)

  • Messages : 29181
  • 8166 43 %
  • Poser une nouvelle question