Il existe un tutorial sur les formulaires embarqués sur le site de symfony.
Il existe plusieurs types de formaulaires embarqués !
http://www.symfony-project.org/more-with-symfony/1_4/fr/06-Advanced-Forms


Alexandre Baron




Le 24 mars 2011 10:06, Cyril FLIELLER <[email protected]> a écrit :

> Qu'appelles-tu embarquer les formulaires ?
>
> *Cyril FLIELLER*
>
>
>
> Le 24 mars 2011 10:03, Lélio ML <[email protected]> a écrit :
>
> Alors tu peux faire ces traitements dans doUpdate() qui permet de contrôler
>> comment sont remplis les champs.
>>
>> Mais sinon, ne devrais-tu pas embarquer les formulaires si tu traites
>> plusieurs Model (Table) dans ton formulaire ? Ce serait peut-être plus
>> propre, tu gèrerais mieux les doUpdate().
>>
>> -----Message d'origine-----
>> De : [email protected] [mailto:[email protected]] De
>> la
>> part de Cyril FLIELLER
>> Envoyé : jeudi 24 mars 2011 09:53
>> À : [email protected]
>> Objet : Re: [symfony-fr] [Form] function save()
>>
>> Mais dans ce formulaire, je ne permets pas à l'utilisateur de tout
>> remplir,
>> il y a des champs que je rempli au traitement du formulaire moi même.
>>
>> Cyril FLIELLER
>>
>>
>>
>>
>> Le 24 mars 2011 09:48, alex baron <[email protected]> a écrit :
>>
>>
>>        Il vaut mieux utliser la méthode doSave. De plus si tes relations
>> sont bien déclarées et tes objets identifiés dans la config du
>> formulaires,
>> symfony te fera la sauvegarde correctement.
>>        Alexandre Baron
>>
>>
>>
>>
>>
>>        Le 24 mars 2011 09:32, Cyril FLIELLER <[email protected]> a
>> écrit :
>>
>>
>>                Je n'arrive pas à comprendre comme sauvegarder les données
>> d'un formulaire dans la database avec doctrine. Mon formulaire ne contient
>> pas que les informations d'une seule table, mais de plusieurs, je dois
>> donc
>> traiter mes données afin de créer les (4) enregistrements :
>>
>>                public function save($con = null){
>>                    try{
>>                      // ajout agent
>>                      $curAgent = new CcPerson();
>>                      $curAgent->setFirstname($this->values['firstname'])
>>                              ->setLastname($this->values['lastname'])
>>                              ->setGender($this->values['gender'])
>>                              ->setEmail($this->values['email'])
>>
>>  ->setArrivaldate($this->values['arrivaldate'])
>>
>> ->setDeparturedate($this->values['departuredate'])
>>                              ->save($con);
>>
>>                      $curAgentId = $curAgent->getId();
>>
>>                      // member group
>>                      foreach($this->values['membergroup_list'] as
>> $curGroupId){
>>                        $curMG = new CcMemberGroup();
>>                        $curMG->setPersonId($curAgentId);
>>                        $curMG->setGroupId($curGroupId);
>>                        $curMG->save($con);
>>                        unset($curMG);
>>                      }
>>
>>                      // solde congé
>>                      $congesCredit = new CcCredit();
>>
>> $congesCredit->setYear($this->values['exerciceConges'])
>>                        ->setValue($this->values['creditConges'])
>>                        ->setPersonId($curAgentId)
>>                        ->setAbsencetypeId(1)
>>                        ->setCcomment("Arrivée au laboratoire")
>>                        ->setCreatedAt(date('Y'))
>>                        ->save($con);
>>
>>                      // solde fractionnement
>>                      $fracCredit = new CcCredit();
>>
>> $fracCredit->setYear($this->values['exerciceFractionnement'])
>>                        ->setValue($this->values['creditFractionnement'])
>>                        ->setPersonId($curAgentId)
>>                        ->setAbsencetypeId(2)
>>                        ->setCcomment("Arrivée au laboratoire")
>>                        ->setCreatedAt()
>>                        ->save($con);
>>
>>                      $con->commit();
>>                    }
>>                    catch (Exception $e){
>>                      $con->rollBack();
>>                      throw $e;
>>                    }
>>
>>                    return $curAgent;
>>                  }
>>
>>                Mais j'ai des erreurs !
>>
>>
>>                Cyril FLIELLER
>>
>>
>>
>>
>>
>>                --
>>                Vous recevez ce message, car vous êtes abonné au groupe
>> Google Groupes Symfony-fr.
>>                Pour envoyer un message à ce groupe, adressez un e-mail à
>> [email protected].
>>                Pour vous désabonner de ce groupe, envoyez un e-mail à
>> l'adresse [email protected]
>> <mailto:symfony-fr%[email protected]> .
>>                 Pour plus d'options, consultez la page de ce groupe :
>> http://groups.google.com/group/symfony-fr?hl=fr
>>
>>
>>
>>
>>
>>        --
>>        Vous recevez ce message, car vous êtes abonné au groupe Google
>> Groupes Symfony-fr.
>>        Pour envoyer un message à ce groupe, adressez un e-mail à
>> [email protected].
>>        Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
>> [email protected]
>> <mailto:symfony-fr%[email protected]> .
>>         Pour plus d'options, consultez la page de ce groupe :
>> http://groups.google.com/group/symfony-fr?hl=fr
>>
>>
>>
>> --
>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
>> Symfony-fr.
>> Pour envoyer un message à ce groupe, adressez un e-mail à
>> [email protected].
>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
>> [email protected].
>> Pour plus d'options, consultez la page de ce groupe :
>> http://groups.google.com/group/symfony-fr?hl=fr
>>
>>
>> --
>> Vous recevez ce message, car vous êtes abonné au groupe Google
>> Groupes Symfony-fr.
>> Pour envoyer un message à ce groupe, adressez un e-mail à
>> [email protected].
>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
>> [email protected].
>> Pour plus d'options, consultez la page de ce groupe :
>> http://groups.google.com/group/symfony-fr?hl=fr
>>
>>
>  --
> Vous recevez ce message, car vous êtes abonné au groupe Google
> Groupes Symfony-fr.
> Pour envoyer un message à ce groupe, adressez un e-mail à
> [email protected].
> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
> [email protected].
> Pour plus d'options, consultez la page de ce groupe :
> http://groups.google.com/group/symfony-fr?hl=fr
>

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à