2016-07-29 4 views
1

Edit: siehe die Lösung, die ich am Ende meine Frage ;-)Zweig: Entfernen div um jede Checkbox Felder eines Formulars

seit Stunden gefunden haben, für eine Lösung, die ich bin auf der Suche, aber ich weiß nicht wirklich finde, was ich mag. Ich bin mir sicher, dass es einfach ist.

Ich baue ein Formular mit Symfony 3.1. Mein Formular sendet nichts in einer Datenbank. Alles scheint in Ordnung zu sein. Aber beim Rendern meiner Zweigvorlage sind alle meine Checkboxen von einem <div> HTML-Tag umgeben.

Ich möchte nur Zweig macht mir ein Formular ohne das <div> Tag. edit: das ist, was Zweig mich machen: Das ist für mich in Ordnung, aber ich mag div-Tags

<form name="form" method="post"> 
<div id="form"><div><label for="form_1">1</label><input type="checkbox" id="form_1" name="form[1]" class="ballsCheckBox" value="1" /></div> 
</form> 

Hier ist mein Zweig Vorlage entfernen:

{% extends "::base.html.twig" %} 

{% block title %}SimulotoBundle:Lotto:lotto{% endblock %} 

{% block body %} 
<h1>Welcome to the Lotto:result page</h1> 
{{form(form)}} 

{% endblock %} 

ich das Formular direkt in einem bauen Regler. Sehen Sie es: public function LottoSimulationFormAction()

{ 
     $lt = new LottoSimulation(); 

     $data = []; 

     $formBuilder = $this->createFormBuilder($data); 

     /** building Lotto grid with checkboxes * */ 
     for ($i = 1; $i <= $lt->getMaxNb(); $i++) 
     { 
      $formBuilder->add($i, CheckboxType::class, [ 
       'label' => $i, 
       'required' => false, 
       'attr' => [ 
        'class' => 'ballsCheckBox' 
       ] 
      ]); 
     } 

     /** adding submit button **/ 
     $formBuilder->add('Envoyer', SubmitType::class, [ 
      'attr' => [ 
       'class' => 'save' 
       ] 
      ]); 

     $form = $formBuilder->getForm(); 

     return $this->render("SimulotoBundle:Lotto:lotto.html.twig", [ 
      "form" => $form->createview() 
       ]); 
    } 
} 
+1

Sie sollten Ihre Lösung zu einer Antwort machen und sie selbst akzeptieren – DarkBee

+0

Es ist fertig. Ich habe eine Antwort erstellt. Danke – zm455

Antwort

1

Hier wird das soluton dieses Problem zu lösen.

Ich brauche die Form Rendering anpassen wie in dem Synfony Kochbuch auf dieser Seite http://symfony.com/doc/current/form/form_customization.html

Zum Kreditoren \ Symfony \ Brücke \ Zweig \ Ressources \ Ansichten \ Formular \ form_div_layout.html und ändert der Block erklärt :

{%- block form_row -%} 
    <div> 
     {{- form_label(form) -}} 
     {{- form_errors(form) -}} 
     {{- form_widget(form) -}} 
    </div> 
{%- endblock form_row -%} 

Sie können es zu entfernen, aber ein besserer Weg ist/Vergangenheit diesen Block zu Ihrem teplate zu kopieren und es overide. Gefällt mir:

{% extends "::base.html.twig" %} 

{% form_theme form _self %} //don't forget this line of code 

{%- block form_row -%} 
     {{- form_label(form) -}} 
     {{- form_errors(form) -}} 
     {{- form_widget(form) -}} 
{%- endblock form_row -%} 
Verwandte Themen