Bonjour,

Je poste sur developpez.com suite à un poste n'ayant obtenu aucune réponse sur un autre forum .

Je voudrais avoir votre avis, merci :-)

--

Bonjour,

Dans le cadre d'un de mes projets (pas vraiment e-commerce mais pourrait le devenir), j'ai besoin d'afficher un formulaire, celui-ci contenant des champs permettant d'ajouter des options ou non à un article.

Mon problème étant que je n'arrive pas à savoir comment créer mon "formBuilder", si je dois créer un type, bref je suis un peu perdu ^^.

Voici le pseudo "mcd", les tables qui nous intéresses sont :

  • t_article
  • t_product
  • t_model_options
  • r_model_options_option
  • t_option


(Désoler pour la taille de l'image, je ne sais pas comment faire pour l’adapter à la page )
Remarque: la relation r_model_options_option doit plutôt être relié à t_option_familly et non pas à t_option directement

Nom : 383067MTMTB2015decembreProposition.png
Affichages : 63
Taille : 318,9 Ko

Le fonctionnement :

Un article (t_article) est un produit (t_product) (exemple: veste), ce produit est lié à un modèle d'options (t_model_options) qui permets de définir plusieurs options pour un modèle donné.

Exemple:

Modèle d'option [t_model_options] : "veste"

Options liées à ce modèle [t_option] :

  1. Nombres de boutons
  2. Nombres de boutons sur les manches
  3. Types de col



Produit [t_product]: "veste" (homme)

Article [t_article] : "veste croisée 4 boutons"

Ici, l'utilisateur peut personnaliser l'article (la veste) en modifiant les 3 options.

Question / Avis :

Maintenant, dans mon contrôleur, je récupère la référence de l'article en cours de personnalisation et donc je suis dans la possibilité de savoir quelles options sont disponibles pour cet article, j'aimerais maintenant pouvoir créer un formulaire personnalisé en fonction des options disponibles pour l'article.

Est-ce que je dois créer un form type, pour chaque modèle d'options ? ou est-ce qu'il faut que je créer les champs directement dans mon contrôleur ?


Merci d'avance pour vos différents retours.

Excellente journée à vous, Cordialement,
Quentin.