Merci pour votre réponse M.Rotta
en fait j'ai pu resoudre mon probleme en changeant mon lien "new" comme ceci:
1 2 3
| $sequence=2; $location="RIGHT";
<a href="<?php echo url_for('advertising/newWithParams?sequence='.$sequence.'& location='.$location); ?>">Nouveau</a> |
Ensuite j'ai créer l'action de newWithParams:
1 2 3 4 5 6 7 8
| public function executeNewWithParams(sfWebRequest $request) {
$this->reflexadvertising = new reflexAdvertising ( );
$this->reflexadvertising->setSequence ( $request->getParameter('sequence') );
$this->reflexadvertising->setLocation ( $request->getParameter('location') );
$this->form = $this->configuration->getForm ( $this->reflexadvertising );
$this->setTemplate ( 'new' );
} |
et dans mon formulaire J'ai déclarer mes champs comme etant "hidden" :
1 2
| $this->widgetSchema ['sequence'] = new sfWidgetFormInputHidden ( );
$this->widgetSchema ['location'] = new sfWidgetFormInputHidden ( ); |
Je recupére les variables:
1 2
| $varSequence = $this->getObject ()->getSequence ();
$varLocation = $this->getObject ()->getLocation (); |
j'affecte ces variable à mes champs "hidden" comme des valeur par defaut grace à setOptiond:
$this->setOption ( 'default', array ('sequence' => $varSequence, 'location' => $varLocation ) );
et enfin je rajoute les champs 'sequence' et 'location' à useFields
et ça marche
Partager