symfony - Pre-populating form values in Symfony2 / Twig -


im new symfony2 / twig , need render form pre-saved values.

i can form load / save data cant show pre-saved values. missing?

here controller code:

/**  * @route("/build/{id}")  * @template()  */ public function buildaction($id) {     $request = $this->getrequest();     $em = $this->getdoctrine()->getentitymanager();     $repo = $em->getrepository('imaginenewsletterbundle:section');     $section = $repo->find($id);       $newsletter = $section->getnewsletter();     $globalmag = $newsletter->getmagazine();      //$globalmag = unserialize($globalmag[0]);       $builder = $this->get('newsletter.builders')->getbuilder($section->getbuilder());     $builder->setsearchurl($this->generateurl('imagine_newsletter_section_search', array('builder' => $section->getbuilder())));      $form = $this->createform($builder->getsearchformbuilder());          $prevarticles = $section->getarticles();           // $form->bind($prevarticles);       return $this->render('imaginenewsletterbundle:section:'.$builder->gettemplate() , array('prevarticles' => $prevarticles,'builder' => $builder, 'form' => $form->createview(), 'section' => $section, 'newsletter' => $newsletter,  'globalmag' => $globalmag)); } 

here twig/form code:

<form id="advert" action="{{ addaticle }}" method="post" {{ form_enctype(form) }} class="form-stacked">                      <div class="form_element">                         {{ form_label(form.toplogoadvert) }}                         {{ form_errors(form.toplogoadvert) }}                         {{ form_widget(form.toplogoadvert) }}                     </div>                      <div class="form_element">                         {{ form_label(form.toplogoalt) }}                         {{ form_errors(form.toplogoalt) }}                         {{ form_widget(form.toplogoalt) }}                     </div>                       <div class="form_element">                         {{ form_label(form.toplogolink) }}                         {{ form_errors(form.toplogolink) }}                         {{ form_widget(form.toplogolink) }}                     </div>                      <input type="hidden" name="section" value="{{ section.id }}" />                          {{ form_widget(form) }}                          <div class="well">                             <button type="submit" class="btn primary">save</button>                             <button id="reset" type="reset" class="btn">reset</button>                         </div>                         {{ form_rest(form) }}                 </form> 

you need bind form request, populate form data user entered. have updated code.

$request = $this->getrequest(); $em = $this->getdoctrine()->getentitymanager(); $repo = $em->getrepository('imaginenewsletterbundle:section'); $section = $repo->find($id);  $builder = $this->get('newsletter.builders')->getbuilder($section->getbuilder()); $builder->setsearchurl($this->generateurl('imagine_newsletter_section_search', array('builder' => $section->getbuilder())));  $form = $this->createform($builder->getsearchformbuilder(), $section);  if ($request->ismethod('post')) {     $form->bind($request); }  return $this->render('imaginenewsletterbundle:section:'.$builder->gettemplate() , array('builder' => $builder, 'form' => $form->createview(), 'section' => $section)); 

you need ensure when form submitted user goes action output form. suspect have separate action process form.


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

jquery - How would i go about shortening this code? And to cancel the previous click on click of new section? -