j'ai essayé ça et me envoie vers une page d'erreur
voila je te donne tt le code pour voir :
_form.php
<form action="<?php echo
$form->isNew()?url_for('@nouscontacterCreate'):url_for('@nouscontacterEdit?id='$form->getObject()->
getId()); ?>">
<form action="<?php echo
url_for('nouscontacter/'.($form->getObject()->isNew() ? 'create' :
'').(!$form->getObject()->isNew() ? '?id='.$form->getObject()->getId() :
'')) ?>" method="post" <?php $form->isMultipart() and print
'enctype="multipart/form-data" ' ?>>
<?php if (!$form->getObject()->isNew()): ?>
<input type="hidden" name="sf_method" value="put" />
<?php endif; ?>
<div class="form_error" color="red">
<?php echo $form['mail']->renderError() ?>
<?php echo $form['nom']->renderError() ?>
<?php echo $form['prenom']->renderError() ?>
<?php echo $form['societe']->renderError() ?>
<?php echo $form['fonction']->renderError() ?>
<?php echo $form['adre']->renderError() ?>
<?php echo $form['cp']->renderError() ?>
<?php echo $form['ville']->renderError() ?>
<?php echo $form['tel']->renderError() ?>
<?php echo $form['mobile']->renderError() ?>
<?php echo $form['msg']->renderError() ?>
</div>
<table class="noucontacter_fond" width="425px" height="510px" border="0">
<tfoot>
<tr height="8px">
<td colspan="2">
<center>
<?php echo $form->renderHiddenFields() ?>
<input type="reset" name="annuler" value=""
class="annuler">
<input type="submit" name="valider" value="" class="envoyer">
</center>
</td>
</tr>
</tfoot>
<tbody>
<?php echo $form->renderGlobalErrors() ?>
<tr>
<td width="70px"><b><?php echo $form['nom']->renderLabel()
?>*</b></td>
<td width="350px">
<div class="contact_input_left"><img
src="/images/contact_input_left.png"></div>
<div id="nous_contacter_nom">
<?php echo $form['nom'] ?>
actions.class.php
class nouscontacterActions extends sfActions
{
public function executeIndex(sfWebRequest $request)
{
$this->form = new NousContacterForm();
}
public function executeValidate(sfWebRequest $request)
{
$this->processForm($request, $this->form);
}
public function executeNew(sfWebRequest $request)
{
$this->form = new NousContacterForm();
}
public function executeCreate(sfWebRequest $request)
{
$this->forward404Unless($request->isMethod('post'));
$this->form = new NousContacterForm();
$this->processForm($request, $this->form);
$this->setTemplate('new');
}
public function executeEdit(sfWebRequest $request)
{
$this->forward404Unless($nous_contacter =
NousContacterPeer::retrieveByPk($request->getParameter('id')),
sprintf('Object nous_contacter does not exist (%s).',
$request->getParameter('id')));
$this->form = new NousContacterForm($nous_contacter);
}
public function executeUpdate(sfWebRequest $request)
{
$this->forward404Unless($request->isMethod('post') ||
$request->isMethod('put'));
$this->forward404Unless($nous_contacter =
NousContacterPeer::retrieveByPk($request->getParameter('id')),
sprintf('Object nous_contacter does not exist (%s).',
$request->getParameter('id')));
$this->form = new NousContacterForm($nous_contacter);
$this->processForm($request, $this->form);
$this->setTemplate('edit');
}
public function executeDelete(sfWebRequest $request)
{
$request->checkCSRFProtection();
$this->forward404Unless($nous_contacter =
NousContacterPeer::retrieveByPk($request->getParameter('id')),
sprintf('Object nous_contacter does not exist (%s).',
$request->getParameter('id')));
$nous_contacter->delete();
$this->redirect('nouscontacter/index');
}
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()),
$request->getFiles($form->getName()));
if ($form->isValid())
{
$nous_contacter = $form->save();
$this->redirect('@homepage');
}
}
}
et une partie du routing.yml
nouscontacter:
url: /nouscontacter.htm
param: { module: nouscontacter, action: index }
il y a que ce routing pour nouscontacter
si je tape /nouscontacter ou /noucontacter.htm je suis sur la page index
juste la c bon, mais je veu pa qu'il m'affiche /nouscontacter/create quand
je tape un champs invalid
merci encore
Le 12 août 2009 10:21, jean-franc aubert <[email protected]> a
écrit :
> Fait plutôt un :
>
> <form action="<?php echo
> $form->isNew()?url_for('@nouscontacterCreate'):url_for('@nouscontacterEdit?id='$form->getObject()->getId());
> ?>">
>
> A priori, Symfony ne detecte pas la route où tu as définie la liaison
> [module: nous contacter / action : create], avec une url que j'imagine
> ressembler à /nouscontacter. Ça peut venir d'une erreur dans l'ordre de
> définition des routing dans le yml.
>
> J-F
>
> Le 12 août 2009 10:58, chakir ezziani <[email protected]> a écrit :
>
> bonjour,
>> merci pour ta reponse d'abord mais le probleme c ke j veu pa ke /create se
>> voi dans url
>> voici l'action du formulaire
>> <form action="<?php echo
>> url_for('nouscontacter/'.($form->getObject()->isNew() ? 'create' :
>> '').(!$form->getObject()->isNew() ? '?id='.$form->getObject()->getId() :
>> '')) ?>
>> quand j'affiche la page nouscontacter le formulaire s'affiche bien mais
>> quand il y a des erreurs de validation l'url devien nouscontacter/create
>> pour les erreurs de validation ils sont bien géré
>>
>>
>> Le 12 août 2009 09:02, jean-franc aubert <[email protected]> a
>> écrit :
>>
>> Bonjour,
>>>
>>> Le problème n'a pas l'air de venir du template mais du routing. Tu dois
>>> appeler ton lien avec un truc du genre link_to('blahblah',
>>> 'nouscontacter/create'), au lieu de link_to('blah blah', '@NomDuRouting').
>>> Ce qui fait qu'il trouve le module et l'action, et qu'il ne passe pas par
>>> ton routing qui doit être mal rédigé.
>>>
>>> Pour le problème des erreurs du formulaire, vérifie les validators
>>> définis.
>>>
>>> Bon courage,
>>>
>>> J-F
>>>
>>> Le 11 août 2009 20:16, shakir33 <[email protected]> a écrit :
>>>
>>>
>>>> salut tout le monde,
>>>>
>>>> je développe un site avec symfony 1.2, et j'ai un problem au niveau
>>>> d'un formulaire de contact
>>>> bon je vais vous expliquer exactement mon soucis, g crée le module
>>>> nouscontacter a base d'une table qui contient(nom, prenom,
>>>> sujet,msg......), j'affiche le formulaire a partir d'un partial _form
>>>> au niveau de la template indexSuccess. et le problem c qu'on il y a
>>>> des erreur au niveau du formulaire (email invalid...), il affiche tt
>>>> ce qu'il faut au niveau de la template mais au niveau de l'URL il
>>>> m'affiche nouscontacter/create or moi je veus qu'il affiche que
>>>> noucontacter
>>>> j'ai passé des heures et des heures ça, j'ai tt essayé (mettre les
>>>> actions create, new comme commentaire...) mais j'arrive pa
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr"
de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---