IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Liste de liens + envoi de données diverses au controller [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 22
    Points
    22
    Par défaut Liste de liens + envoi de données diverses au controller
    Bonjour à tous,

    Je suis débutant sous Symfony2 et je me trouve devant un problème dont je ne trouve la solution.
    Je souhaiterai avoir une liste de lien (avec un ID en paramètre), qui envoient au controller une date en plus. Date définie dans un unique input.

    Voilà mon exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Date: <input type="text" id="datepicker">
    <ul>
    	{% for o in objects %}
    	<li>{{ o.name }}
    		<a href="{{ path('ma_route', {'id': o.id}) }}">Rechercher</a>
    	</li>
    	{% endfor %}
    </ul>
    J'ai essayé avec un form sans succès. Je reste toujours avec l'ID ou la Date que je n'arrive pas à envoyer en même temps...

    Je vous remercie pour votre aide

    Bonne soirée et bonne nuit !

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    houla j'ai un peu de mal à te suivre.

    pour envoyer des données au controleur on peut le faire par le biais d'un formulaire ou en paramètre d'url

    j'ai pas trop compris ta question...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Bonjour, et merci d'avoir essayé de me comprendre !

    Oui je dois avouer que c'est clair dans ma tête mais beaucoup moins une fois écrit

    J'ai une boucle for qui m'affiche autant de lien que d'objet. Sur ces liens, je spécifie ma route et l'id de l'objet.
    En effet je souhaite exécuter une action sur l'objet cliqué. Cette action a besoin d'une date en plus. Ce champ date, il y en a un seul sur la page. Et je ne sais pas comment l'incorporer dans les paramètres de mes routes.

    Je pourrais éventuellement inclure ma date dans la boucle for :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ul>
    	{% for o in objects %}
    	<li>{{ o.name }}
    	<form action="{{ path('ma_route', {'id': o.id}) }}">
    		Date: <input type="text" id="datepicker">
    		<input type="submit" value=" rechercher">
    	</form>
    	</li>
    	{% endfor %}
    </ul>
    Mais je souhaiterai n'avoir qu'un seul Input Date.

    Cela ne me paraît pas plus clair, mais sait-on jamais !

  4. #4
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    c'est mieux

    je vois 2 solutions :


    * en utilisant les formulaire imbriqué
    - 1 champs date
    - une collection d'objet (tu initialise la collection dans le controlleur cad si tu as 5 objet , tu initialise la collection avec les 5 objet comme ça il les affiche dans la vue)

    * avec JQuery
    mais bon c'est plus de la bidouille

  5. #5
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Hello,

    Est-ce que tu veux faire des formulaires ou des liens ? Sur tes deux exemples c'est différent : un lien => GET, un formulaire (le plus souvent) => POST. Est-ce que tu as besoin de poster des données ?
    Pourquoi faire autant de formulaires que d'objet, un seul formulaire ne suffit-il pas ?

    Je crois que tu t'es compliqué la vie inutilement : tout ce que tu as à faire à priori est de choisir un objet, une date et soumettre ton formulaire.
    Ton formulaire contiendra alors une liste déroulante, ou une liste de boutons radio pour ton entité, et un datepicker (qui aurait eu quelques problèmes pour fonctionner en lui affectant toujours le même id dans ta boucle) et c'est tout.

  6. #6
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    en relisant, j'ai encore mal compris ta question. réfère toi au post de Nico_f

    en fait je viens de comprendre tu me corrige si c'est faux.
    pour chaque objet lui est appliqué une action(rechercher, créer ....) , chaque action renvoi vers une action du controleur qui lui correpond avec l'id de l'objet(pour lui appliquer l'action) et une date

    c'est vrai que c'est dure à expliquer

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Merci pour vos réponses à tous les deux !

    Alors oui dukoid c'est exacement ça

    Pour te répondre Nico_F, mes deux bouts de code ne sont évidemment pas liés. Le premier est de la "forme" que je souhaitais obtenir (1 seul formulaire), le deuxième illustrait plutôt mes propos.

    Donc mon but n'est évident pas de créer autant de formulaire que d'objet. Je voulais justement un seul formulaire (avec le champ Date), puis avoir la possibilité de cliquer directement sur un objet qui aurait pour but d'envoyer l'id de l'objet cliqué et la dite date au controller. Ce qui revient in fine à "choisir un objet, une date et soumettre [le] formulaire" mais en plus direct.

    Je vais tester ta solution dans un premier temps

  8. #8
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Ta solution aurait été viable s'il n'avait pas fallu SAISIR la date. Avec une date fixe calculée, récupérée ailleurs ou la date du jour, tu pouvais la passer en paramètre à ta route et afficher des liens.

    La il s'agit de la saisir, du coup on doit passer par un formulaire (à moins de faire le goret en js). Autant passer tous les paramètres de la même manière.

    À défaut de faire des économies de clics, tu feras des économies d'espace sur la page affichée car ton formulaire tient sur une seule ligne

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Bonjour à tous, j'ai eu un petit moment pour réfléchir à mon problème.

    Comme le dit Nico_F je me suis compliqué la vie pour rien. J'ai donc décidé de déporter le champ date directement sur la page de recherche.
    Sur cette page j'ai bien un seul champ date avec mes résultats. J'utilise un peu d'Ajax afin de rendre plus "user friendly" le rendu.

    Pour le formulaire recherche + AJAX, j'ai suivi le tuto : http://j-place.developpez.com/tutori...-symfony2/#LIV !

    Au final, c'est bien mieux comme cela, merci à vous de m'avoir accordé du temps et de m'avoir aiguillé dans la bonne direction !

    Bon week-end à vous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi de données listes externes
    Par mpstylerz dans le forum InfoPath
    Réponses: 4
    Dernier message: 10/12/2013, 08h51
  2. Réponses: 20
    Dernier message: 14/04/2013, 15h12
  3. [IP-2007] Envoi de données vers liste SP
    Par bob633 dans le forum InfoPath
    Réponses: 1
    Dernier message: 16/11/2010, 20h58
  4. [IP-2010] Envoi de données vers 2 listes Sharepoint différentes
    Par 1nDqMix dans le forum InfoPath
    Réponses: 5
    Dernier message: 03/06/2010, 18h43
  5. envoie de donnée dans une requéte depuis un liste déroulante
    Par steve o'steen dans le forum Langage
    Réponses: 1
    Dernier message: 17/10/2006, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo