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 :

Filtre dans un formulaire imbriqué (action: edit)


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Par défaut Filtre dans un formulaire imbriqué (action: edit)
    Bonjour,

    J'utilise symfony 1.4 avec le plugin: ahDoctrineEasyEmbeddedRelationsPlugin

    Je dois faire un formulaire contenant des formulaires imbriqués.

    Mais il y a énormement de formulaires imbriqués, et pour bien faire il faudrait que je puisse mettre un filtre afin de n'afficher que certains des formulaires imbriqués.

    Donc voici mon schéma:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    Campaigns:
      connection: doctrine
      tableName: campaigns
      columns:
        campaign_dbid:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: true
          autoincrement: true
        campaign_name:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        campaign_mail:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
       relations:
         CampaignsMessages:
          local: campaign_dbid
          foreign: cm_campaign_dbid
          type: many
     CampaignsMessages:
      connection: doctrine
      tableName: campaigns_messages
      columns:
        cm_id:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: true
          autoincrement: true
        cm_campaign_dbid:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: false
          notnull: true
          autoincrement: false
        cm_language_id:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: false
          notnull: true
          autoincrement: false
        cm_msg_name:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        cm_msg_value:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations:
        Campaigns:
          local: cm_campaign_dbid
          foreign: campaign_dbid
          type: one
    J'aimerais donc pouvoir filtrer les formulaires imbriqués sur base du cm_language_id... Avez vous une idée de comment je pourrais procéder?

    J'ai déjà pas mal cherché sur google mais à part des sujets sur les filtres imbriqués je n'ai pas trouvé grand chose....

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Il manque des informations sur où tu souhaiterais cela, formulaire simple ou formulaire auto-généré d'admin.

    Et les modifications que tu as apportés à ton objet form.

    Ensuite (ou plutôt avant), il serait souhaitable de faire un tour sur le sous forum doctrine et de regarder les préconisations pour la mise en place du schéma, le tiens pourrait être optimisé et plus lisible, pour toi (les "s" notamment) et pour doctrine (les conventions de nommage des clefs).

  3. #3
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Par défaut
    Tu as raison je vais faire l'effort d'aller voir les conventions de nommages.

    Pour ta première question il s'agit d'un formulaire autogénéré d'admin. Mais si c'est trop compliqué de faire cette personnalisation dans l'admin autogénéré, je peux refaire un module manuel...

    Si tu souhaites plus d'informations n'hésites pas à les demander

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Pour la création d'un enregistrement maître, c'est infaisable quelque soit le système utilisé.

    Il faut donc un formulaire qui permette de créer la base de l'enregistrement maître (nom, mail) et renvoie sur le formulaire de modification (pour l'enregistrement juste créé).

    J'ai réfléchi (après le premier message)(si si, j'y arrive). Et je suppose qu'il va falloir intégrer dans ton form un form de filtre pour les formulaires embarqués. Ceci ne me semble pas compatible avec un module généré par l'admin.

    En fait ceci va nous faire un form particulièrement compliqué vu que l'on devrait avoir deux form embarqués l'un dans l'autre (un pour modifier ls enregistrement, un pour le filtre des embed), ce qui n'est pas possible.

    Donc il me semble qu'il faudrait, au moins trois form (et laisser tomber l'embed). Un pour l'enregistrement maître, un pour le filtre, un pour les sous enregistrement. Et après réflexion, je me demande si tu n'as pas intérêt à faire un form par enregistrement, indépendant les uns des autres.

    Base toi sur le code que tu peux trouver dans le cache d'un form d'admin pour créer le code qui va gérer les enregistrement embed.

    Un cadeau en prime, le shema optimisé (mais non commenté) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Campaign:
      connection: doctrine
      tableName: campaigns
      columns:
        name:
          type: string(255)
          notnull: true
        mail:
          type: string(255)
          notnull: true
     CampaignMessage:
      connection: doctrine
      tableName: campaigns_messages
      actAs:
        I18n:
          fields: [name, value]
      columns:
        campaign_id:
          type: integer
        name:
          type: string(255)
          notnull: true
        value:
          type: string()
          notnull: true
      relations:
        Campaigns:
          foreignAlias: CampaignMessages
    Ce qui va créer trois tables dont une avec la traduction des messages de la Campaig. Je ne suis pas très sur de comprendre la notion de messages pour une campagnes. Il faudra peut-être remonter au niveau de la structure sémantique des tables.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Par défaut
    Oooooh!

    Merci beaucoup pour la vitesse et la qualité de ta réponse!

    Je pense que je vais implémenter ta solution des trois formulaires. Le formulaire de filtre comportera un champ hidden correspondant à l'ID de la campagne en cours d'édition (voir je suppose que je pourrai directement récupérer l'id dans la requête de la page), ainsi que les champs de filtres classiques.

    J'épprouve une certaine réticence à faire un form par enregistrement, car si un jour on souhaite ajouter des données supplémentaire et faire un filtre plus poussé, ça risquerait de compliquer les choses... non?

    Cependant avec la technique des trois formulaires (ou des formulaires indépendants), je pense qu'il sera plus compliqué de permettre l'edition de par exemple 5 messages en même temps et l'enregistrement de ceux ci en une fois... Ca se ferait plutot message par message.... non? Or d'un point de vue purement ergonomique ce serait désastreux...

    Merci encore pour ton schéma et tes conseils avisés!

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je ne pense pas qu'un form par enregistrement sera plus compliquer à maintenir qu'un embed. Les deux seront hermétique si quelqu'un intervient par après, a toi de bien documenter maintenant.

    Par contre, effectivement, côté utilisateur, le fonctionnement va différé fortement. Ce qui peut influencer définitivement vers l'une où l'autre des solutions.

    Hors ces solutions, il reste la possibilité de travailler avec une grosse couche de javascript...

Discussions similaires

  1. [Struts] - Déclenchement d'une action dans un formulaire imbriqué
    Par Dabat dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/03/2009, 15h14
  2. Réponses: 0
    Dernier message: 19/03/2009, 14h44
  3. Problème de filtre dans un formulaire acess
    Par cdbaloo dans le forum Access
    Réponses: 4
    Dernier message: 31/03/2006, 17h25
  4. filtre dans un formulaire
    Par deuss33 dans le forum IHM
    Réponses: 3
    Dernier message: 01/12/2005, 10h09
  5. [vb][filtre dans un formulaire ]
    Par raymondhoffmeyer dans le forum Access
    Réponses: 2
    Dernier message: 18/10/2005, 11h21

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