Jump to content

Edit History

Allyta

Allyta


Changement du titre

Bonjour (^-^)/

Je fais un formulaire en essayant d'utiliser un fields_form mais je ne suis pas très sure de la réalisabilité de ce que j'essaie de faire.

1) Est-ce qu'il est possible de récupérer la valeur du select n°1 (avec un onChange si possible) pour filtrer la liste d'option du select n°2 ? (En l'occurrence, choisir une catégorie de recette doit filtrer les recettes sélectionnables)

2) Autre question qui s'éloigne du sujet : peut-on changer la requête SQL de sauvegarde d'un fields_form ? Par défaut il se contente de la table "de base" du formulaire alors que j'ai besoin de traiter mes données et de les ranger dans plusieurs tables.

J'ai le code suivant :

 /**
  * Affichage du formulaire d'ajout / création de l'objet
  * @return string
  * @throws SmartyException
  */


  public function renderForm()
  {    
    $this->fields_form = [
      'legend' => [
          'title' => $this->l('Ajout d\'une nouvelle fabrication'),
      ],
        'input' => [
          [
            'type' => 'select',
            'label' => $this->l('Catégorie recette'),
            'name' => 'categorie_recette_selected',
            'required' => true,
            'options' => [
              'query' => CategorieRecette::getCategoriesRecette(),
              'id' => 'id_categorie_recette',
              'name' => 'nom_categorie_recette',
              'default' => [
               'label' => 'Choisir une catégorie',
               'value' => 0,
              ],
            ],
          ],
          [
            'type' => 'select',
            'label' => $this->l('Recette'),
            'name' => 'recette_selected',
            'required' => true,
            'options' => [
              'query' => Recette::getRecettes(),
              //'query' => Recette::getRecettesByCategorie($categorie_recette_selected),
              'id' => 'id_recette',
              'name' => 'nom_recette',
              'default' => [
               'label' => 'Choisir une recette',
               'value' => 0,
              ],
            ],
          ],
          [
            'type' => 'datetime',
            'label' => $this->l('Date de fabrication'),
            'name' => 'date_fabrication',
            'required' => true,
          ],
          [
            'type' => 'text',
            'label' => $this->l('N° de lot'),
            'name' => 'num_lot_fabrication',
            'required' => true,
        ],
          [
              'type' => 'text',
              'label' => $this->l('Quantité totale fabriquée'),
              'name' => 'quantite_totale_fabrication',
              'required' => true,
          ],
      ],
      'submit' => [
          'title' => $this->l('Save'),
      ],
  ];
    return parent::renderForm();
  }

(+) : getRecettesByCategorie() a besoin de l'id_categorie_recette en argument.

 

Merci de m'éclairer 😃

1.JPG

Allyta

Allyta


Changement du titre

Bonjour (^-^)/

Je fais un formulaire en essayant d'utiliser un fields_form mais je ne suis pas très sure de la réalisabilité de ce que j'essaie de faire.

1) Est-ce qu'il est possible de récupérer la valeur du select n°1 (avec un onChange si possible) pour filtrer la liste d'option du select n°2 ? (En l'occurrence, choisir une catégorie de recette doit filtrer les recettes sélectionnables)

2) Autre question qui s'éloigne du sujet : peut-on changer la requête SQL de sauvegarde d'un fields_form ? Par défaut il se contente de la table "de base" du formulaire alors que j'ai besoin de traiter mes données et de les ranger dans plusieurs tables.

J'ai le code suivant :

 /**
  * Affichage du formulaire d'ajout / création de l'objet
  * @return string
  * @throws SmartyException
  */


  public function renderForm()
  {    
    $this->fields_form = [
      'legend' => [
          'title' => $this->l('Ajout d\'une nouvelle fabrication'),
      ],
        'input' => [
          [
            'type' => 'select',
            'label' => $this->l('Catégorie recette'),
            'name' => 'categorie_recette_selected',
            'required' => true,
            'options' => [
              'query' => CategorieRecette::getCategoriesRecette(),
              'id' => 'id_categorie_recette',
              'name' => 'nom_categorie_recette',
              'default' => [
               'label' => 'Choisir une catégorie',
               'value' => 0,
              ],
            ],
          ],
          [
            'type' => 'select',
            'label' => $this->l('Recette'),
            'name' => 'recette_selected',
            'required' => true,
            'options' => [
              'query' => Recette::getRecettes(),
              //'query' => Recette::getRecettesByCategorie($categorie_recette_selected),
              'id' => 'id_recette',
              'name' => 'nom_recette',
              'default' => [
               'label' => 'Choisir une recette',
               'value' => 0,
              ],
            ],
          ],
          [
            'type' => 'datetime',
            'label' => $this->l('Date de fabrication'),
            'name' => 'date_fabrication',
            'required' => true,
          ],
          [
            'type' => 'text',
            'label' => $this->l('N° de lot'),
            'name' => 'num_lot_fabrication',
            'required' => true,
        ],
          [
              'type' => 'text',
              'label' => $this->l('Quantité totale fabriquée'),
              'name' => 'quantite_totale_fabrication',
              'required' => true,
          ],
      ],
      'submit' => [
          'title' => $this->l('Save'),
      ],
  ];
    return parent::renderForm();
  }

(+) : getRecettesByCategorie() a besoin de l'id_categorie_recette en argument.

 

Merci de m'éclairer 😃

1.JPG

Allyta

Allyta

Bonjour (^-^)/

Je fais un formulaire en essayant d'utiliser un fields_form mais je ne suis pas très sure de la réalisabilité de ce que j'essaie de faire.

1) Est-ce qu'il est possible de récupérer la valeur du select n°1 (avec un onChange si possible) pour filtrer la liste d'option du select n°2 ? (En l'occurrence, choisir une catégorie de recette doit filtrer les recettes sélectionnables)

2) Autre question qui s'éloigne du sujet : peut-on changer la requête SQL de sauvegarde d'un fields_form ? Par défaut il se contente de la table "de base" du formulaire alors que j'ai besoin de traiter mes données et de les ranger dans plusieurs tables.

J'ai le code suivant :

 /**
  * Affichage du formulaire d'ajout / création de l'objet
  * @return string
  * @throws SmartyException
  */


  public function renderForm()
  {    
    $this->fields_form = [
      'legend' => [
          'title' => $this->l('Ajout d\'une nouvelle fabrication'),
      ],
        'input' => [
          [
            'type' => 'select',
            'label' => $this->l('Catégorie recette'),
            'name' => 'categorie_recette_selected',
            'required' => true,
            'options' => [
              'query' => CategorieRecette::getCategoriesRecette(),
              'id' => 'id_categorie_recette',
              'name' => 'nom_categorie_recette',
              'default' => [
               'label' => 'Choisir une catégorie',
               'value' => 0,
              ],
            ],
          ],
          [
            'type' => 'select',
            'label' => $this->l('Recette'),
            'name' => 'recette_selected',
            'required' => true,
            'options' => [
              'query' => Recette::getRecettes(),
              //'query' => Recette::getRecettesByCategorie($categorie_recette_selected),
              'id' => 'id_recette',
              'name' => 'nom_recette',
              'default' => [
               'label' => 'Choisir une recette',
               'value' => 0,
              ],
            ],
          ],
          [
            'type' => 'datetime',
            'label' => $this->l('Date de fabrication'),
            'name' => 'date_fabrication',
            'required' => true,
          ],
          [
            'type' => 'text',
            'label' => $this->l('N° de lot'),
            'name' => 'num_lot_fabrication',
            'required' => true,
        ],
          [
              'type' => 'text',
              'label' => $this->l('Quantité totale fabriquée'),
              'name' => 'quantite_totale_fabrication',
              'required' => true,
          ],
      ],
      'submit' => [
          'title' => $this->l('Save'),
      ],
  ];
    return parent::renderForm();
  }

(+) : getRecettesByCategorie() a besoin de l'id_categorie_recette en argument.

 

Merci de m'éclairer 😃

1.JPG

×
×
  • Create New...