En dur veux dire que tu l'écris en dur sans widget ni validator?
si tel est le cas regarde du coté de ça
http://www.symfony-project.org/forms/1_4/fr/

Sinon en symfony généralement sur ton template l'attribut action de ta
<form> pointera vers l'url_for() de l'action sf en cours, sauf que sur cette
dernière tu fais un test qui différenciera l'usage de cette action pour les
deux cas, à savoir, 1-premier usage ou 2-après post du form, du genre:


Exemple d'utilisation d'un form contenant un input type file par exemple:

*//action*
...
$this->form = new ExempleForm();//se qui se passera dans les deux cas
if ($request->isMethod('post'))//cas spécifique à l'après post
{

$this->form->bind($request->getParameter($this->form->getName()),$request->getFiles('fichier'));
//le deuxième param n'est pas obligatoire
    if($this->form->isValid())
    {
        $file = $this->form->getValue('file');
        $filename =
sha1($file->getOriginalName()).$file->getExtension($file->getOriginalExtension());
        $this->getUser()->setFlash('validationNotice', sprintf('traitement
OK'));
        $this->form->save();
    }
    else
    {$this->getUser()->setFlash('validationNotice', sprintf('traitement
NOK'));}//à personnaliser pour connaitre l'origine de l'erreur
}
...

*//template*
//ceci affichera ton message de validation ou d'erreur sur le même template
affichant ton form
...
if($sf_user->hasFlash('validationNotice')){echo
$sf_user->getFlash('validationNotice')}
...


*+Dans ton cas*:
1-sur le template: utiliser deux input type submit de même nom mais de value
différente, (à mon avis c'est suffisant) et sur l'action mettre ce teste:
if($this->form['nomDuSubmit']=='value1'){//traitement1}
elseif($this->form['nomDuSubmit']=='value2'){//traitement1}

2-essayer ça sur l'action pour voir si ça n'est pas un problème de
configuration sur les protection CSRF:
sfForm::disableCSRFProtection();

3-ne pas oublier echo $form->renderHiddenFields() sur le form de ton
template

et normalement ça doit marcher...

Bon courage

-- 
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 à