2016-07-29 61 views
1

編輯的每個複選框字段:看到的解決辦法,我在我的問題;-)嫩枝:刪除DIV圍繞一個形式

我期待,因爲一個解決方案小時結束找到,但我真的不找到我喜歡的東西。我相信這很容易做到。

我正在用Symfony 3.1創建一個表單。我的表單不會在數據庫中發送任何內容。一切似乎都沒問題。但是,當呈現我的樹枝模板時,我的所有複選框都被一個<div> html標記包圍。

我只是想讓樹枝呈現給我一個沒有<div>標籤的表單。 編輯:這是什麼嫩枝渲染我說:這是確定了我,但我想刪除div標籤

<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> 

這裏是我的枝杈模板:

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

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

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

{% endblock %} 

我直接建形式在控制器。看到它: 公共職能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

你應該讓你的解決方案爲答案和自我接受 – DarkBee

+0

它的完成。我已經創建了一個答案。謝謝 – zm455

回答

1

這裏是解決這個問題的soluton。

我需要定製表單渲染,因爲它是在Synfony食譜解釋此頁http://symfony.com/doc/current/form/form_customization.html

去到供應商\的Symfony \橋\嫩枝\ Ressources \意見\表格\ form_div_layout.html和修改塊:

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

您可以將其刪除,但更好的方法是將該塊複製/越過該塊到您的模板並覆蓋它。就像這樣:

​​