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

 PHP Discussion :

Formulaire automatique et type de champs [1.x]


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut Formulaire automatique et type de champs
    Bonjour.

    Je commence à explorer ce beau framework qu'est Symfony mais me voilà devant un problème qui je pense est simple mais que je n'arrive pas à résoudre.

    J'ai une table "realisation" dans ma base de données et j'ai le modèle et schéma qui vont avec.
    Cette table contient les propriétés suivantes :
    -id (un entier)
    -idDescription qui est une clé externe sur une entrée d'une table nommée "texte" qui contient un id et une chaine de caractères nommée "contenu"

    J'ai généré le module qui correspond et dans les formulaires produits et pour l'action "edit" j'ai une liste déroulante concernant l'idDescription (la liste de tout ce qu'il y a dans ma table texte). Jusque là c'est normal.
    Sauf qu'à la place de cette liste déroulante je voudrais avoir une textarea qui est remplie par la valeur du champs "contenu" dans le cas d'une édition.
    Comment puis-je faire çà ?
    Je sais que je peux remplacer par la textarea en complétant la méthode "configure" de la classe "RealisationForm" de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     public function configure()
      {
        $this->widgetSchema['iddescriptionrealisation'] = new sfWidgetFormTextarea();
      }
    mais comment dire que cette textarea doit être remplie par le texte correspondant à la clé étrangère dans le cas d'une édition ?

    J'espère être à peu près clair.
    Merci déjà pour votre réponse

  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
    "J'espère être à peu près clair."

    C'est des vieux qui répondent ici... C'est pas gagné !

    Avant de parler de ta question, je pense que tu aurais intérêt à mettre ton shema.yml qu'on y jette un œil, c'est plein de subtilités qui peuvent impacter lourdement sur le bon déroulement de l'application. Et je vois au moins un non respect des standards dans ton texte. Ce n'est pas bloquant, juste plus difficile à gérer par après. Partir sur une bonne base (des bonnes bases ?) c'est le secret.

    Pour ta question, je crains de ne pas avoir de bonnes nouvelles. En formulaire d'admin, ce que tu cherches à faire est au mieux très difficile à réaliser, au pire impossible. En effet, la génération de module admin n'est pas concue pour travailler sur plusieurs tables dans le même fomulaire.

    De plus, vu ce qu'il te génère comme code il considère que ta liaison est du type 1-n, comment peut-il alors sélectionner l'enregistrement à éditer ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Rah, je savais que je n'étais pas très "standard" quand j'ai conçu m'a BDD mais je me suis dit que çà allait quand même passer. Apparemment pas de bol.

    Pour vous montrer à quel point je suis casse-cou, voici le bout de modèle qui correspond au truc en question (attention aux yeux, çà pique un peu... et aussi pardonnez moi c'est un diagramme vite fait sans respect de standard de modélisation) :





    Je sais que dès qu'il y a du 1;1,- 1;1 ce n'est pas très standard, mais qui sait, peut-être ne suis-je pas "standard" :p

    En gros je fais cela pour gérer l'i18n dans ma base. Je crois savoir que symfony pourrait le faire pour moi mais je voudrais rester simple et mettre la main à la pâte.

    Le problème est peut être plus clair maintenant. Je pensais quand même qu'une solution était possible étant donnée qu'on peut modifier les widgets et les validateurs mais mon schéma est peut être un peu trop tordu. Pour l'instant je travaille sur le côté utilisateur mais il est clair que je souhaite que cela fonctionne avec l'admin aussi.
    La solution serait de créer un formulaire à part comme une autre page mais du coup c'est mettre de côté une bonne partie des fonctionnalités premières de symfony.

    Bon voilà, j'espère ne pas passer pour le guignol de service qui développe avec les pieds mais je commence ma première application web gérant l'internationalisation et surtout ma première application avec symfony et y'a encore du travail :p
    Mais si vous avez une solution à mon problème, je suis preneur.

  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
    Je ne sais pas à quoi pourrait ressembler le shema.yml issu de ce schema mais s'il est destiné à présenter une traduction de certains enregistrements du site en plusieurs langue, il ne peut pas fonctionner.

    Effectivement doctrine et symfony embarquent un système de traduction automatique de l'interface et des textes dans les tables. Il marche plus où moins bien (il y a un bug dans un cas précis d'utilisation et qui est suffisamment connu pour que l'on sache s'en protéger). Accessoirement, les form d'administration savent gérer ces tables avec traduction en natif...

    Je t'engage vivement à revoir ton schéma et à utiliser les outils intégrés de symfony ce qui ne pourra que rentre ton application plus solide, plus rapide et plus simple à développer.

    Je peux comprendre que l'on veuille redécouvrir un maximum de choses par sois même mais tu utilises PHP, symfony et doctrine sans te poser de problèmes et tu souhaiterais réinventer la roue pour la gestion du i18n ? Je ne comprend pas du tout l'intérêt. Après tout, il ne te vient pas à l'idée d'utiliser de l'assembler pour écrire ton site !

    Plus d'informations sur l'utilisation dans le "Jour 19 : Internationalisation et régionalisation" du tutoriel de symfony.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Je ne suis encore pas arrivé au jour 19 du tuto mais je progresse, je progresse.
    Je vais donc me résilier à jeter un coup d'œil et en fonction revoir ma base de données.

    Bon je pense que vous me reverrez sans doute aux alentours car symfony est encore bien mystérieux pour moi. Je vais faire ma tambouille et découvrir l'internationalisation mais en attendant merci pour ces conseils.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/06/2010, 15h50
  2. [AC-2007] Bouton pour completer 3 champs d'un formulaire automatiquement?
    Par EmmanuelleC dans le forum Access
    Réponses: 4
    Dernier message: 29/03/2010, 16h29
  3. Réponses: 1
    Dernier message: 06/05/2009, 12h18
  4. Type de champ Numero automatique
    Par Mamatt62 dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/04/2009, 16h25
  5. [CSS][formulaire] connaitre le type d'un champ input
    Par psychomatt dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 22/09/2005, 13h13

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