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