Je crois que la question d'alex était de savoir si tes formulaires
imbriqués étaient des objets des DoctrineForm (générés par build-
forms) ou des formulaires sfForm (que tu aurais fais toi même).

Par ailleurs, pour revenir sur le commentaire de ASSO Anthony,
personnelement, si je dois surcharger une méthode, je surchargerai
saveEmbeddedForms (qui est publique à l'inverse de doSave qui est
protected). D'ailleurs, voici ce que fait doSave (classe
sfFormObject.class.php)(saveEmbeddedForms est dans le même fichier) :

protected function doSave($con = null){
    if (null === $con){
      $con = $this->getConnection();
    }

    $this->updateObject();
    $this->getObject()->save($con);  //sauvegarde du formulaire
embarquant
    $this->saveEmbeddedForms($con);  //sauvegarde des formulaires
embarqués
}

Est-ce que tu as des messages d'erreurs en frontend_dev ? Parceque le
chemin qui va du formulaire qui s'affiche correctement à la sauvegarde
en base de donnée est long et tortueux !

Je te joins un exemple de surcharge de saveEmbeddedForms au cas où ...
(du temps où je débutais avec symfony, alors il doit y avoir mieux !
le but, je crois, était de rajouter des infos au formulaire embarqué

public function saveEmbeddedForms($con = null, $forms = null){
  if (null === $con)  { $con   = $this->getConnection(); }
  if (null === $forms){ $forms = $this->embeddedForms; }
  foreach($forms as $form){
    if ($this->isNew()){
      if ($form instanceof LcDescriptionForm){
        $desc = new LcDescription(LcDescriptionTable::getInstance(), true);
        $desc->setLcId($this->getObject()->getLcId());
        $desc->setLcIdInterne($this->getObject()->getLcIdInterne());
        $desc->setLcDescriptionLongue($form->getObject()-
>getLcDescriptionLongue());
        $desc->save();
      }
    }
  }
}

Bon courage ! C'est vrai que les embedForms, c'est pas toujours
simple ! De temps en temps, il peut être plus rapide de faire
plusieurs forms ...

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

Répondre à