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 :

Rechercher des instances d'une entité pour les renseigner dans un formulaire.


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai Avatar de selios
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 11
    Points : 16
    Points
    16
    Par défaut Rechercher des instances d'une entité pour les renseigner dans un formulaire.
    Bonjour,

    Je débute sur Symfony 2, et j'aimerais avoir un avis sur les solutions possibles au problème qui m'est posé:

    J'ai un formulaire de création de dons, dans lequel je voudrais pouvoir sélectionner un donateur et une adresse, et le cas échéant en créer de nouveaux.
    J'ai envisagé les champs 'entity'. Mais je vais avoir beaucoup de donateurs et d'adresses, et je voudrais pouvoir effectuer une recherche dessus. Et puis, je voudrais éviter de peupler une liste avec des centaines de valeurs.

    Voilà ce que j'ai commencé à faire, avec un peu de jQuery :
    de simples champs texte, dans lesquels je vais indiquer l'ID du donateur et de l'adresse.

    (oui, le deuxième champ est une Entity pour le moment)
    Avec jQuery, on peut ouvrir une fenêtre modale, dans laquelle on charge la page de recherche (qui existe déjà).

    La liste des instances est chargée en ajax.
    Lorsqu'on clique sur une ligne, l'ID correspondant est affecté à une variable, la modale se ferme, et le champ du formulaire récupère la valeur de la variable.

    tout le code est sur github, mais je peux en publier des extraits ici si besoin.

    Est-ce qu'un bundle existant pourra me rendre la tâche plus facile? Je ne me rends pas bien compte de la complexité d'utilisation d'un bundle comme celui-ci, par exemple :
    http://knpbundles.com/symfony2adming...eneratorBundle

    Pour le moment, j'ai surtout des problèmes avec mes scripts jQuery (que je vais aller exposer dans la section jQuery).
    Ma question est : y a-t-il une meilleure façon de procéder?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    Pour la partie serveur j'utilise ce bundle https://github.com/Gregwar/FormBundle

    le code javascript qui alimente l'input avec l'id restant à ta charge


    Ce type de fonctionnalité est également proposé dans le SonataAdminBundle, mais comme son nom l'indique il s'agit de l'admin du site, pas de la partie front.
    Tu auras sans doute besoin de personaliser au mieux un formulaire public.

  3. #3
    Membre à l'essai Avatar de selios
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Merci pour ta réponse!

    Dans mon cas, est-ce qu'un Data Transformer ne serait pas suffisant pour pouvoir utiliser les ID dans mon formulaire?
    http://symfony.com/doc/current/cookb...nsformers.html

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Dans mon cas, est-ce qu'un Data Transformer ne serait pas suffisant pour pouvoir utiliser les ID dans mon formulaire?
    L'essentiel du code de ce bundle est justement de fournir un dataTransformer et un FormType générique.
    https://github.com/Gregwar/FormBundl...ransformer.php
    En passant par un type de formulaire "entity_id" tu te libères essentiellement de devoir injecter "à la main" l'Entity Manager dans le FormType pour de là l'injecter dans le DataTransformer.

    Que tu crée ton propre DataTransformer ou que tu utilises le gregwarFormBundle ne changera pas grand chose au final.
    En revanche si par la suite tu as des besoins similaires (pour d'autres entités, récupération d'une collection d'entité,...) autant se baser sur ce qui existe déjà.

Discussions similaires

  1. Réponses: 12
    Dernier message: 04/01/2015, 19h47
  2. Récupérer des données d'une page pour les récupérer sur une autre
    Par didpoy dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 17/06/2014, 16h58
  3. [Toutes versions] Recherche de données dans une feuille pour les copier dans une autre
    Par mattdogg97 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/02/2011, 14h22
  4. Réponses: 4
    Dernier message: 30/07/2008, 18h30
  5. Réponses: 3
    Dernier message: 11/04/2007, 14h01

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