2016-03-06 58 views
0

我试图根据引导样式生成无线电对接,但尚未工作。在Symfony的我用下面的代码添加到窗体选项:根据引导样式生成单选按钮白色树枝

 ->add('business', 'choice', array(
      'choices' => array('Business' => true, 'Private' => false), 
      'expanded' => true, 
      'multiple' => false, 
      'choices_as_values' => true, 
     )) 

用下面的树枝代码:

 <div class="form-group"> 
      <div class="col-sm-offset-3 col-sm-9"> 
       {{ form_widget(form.accountreg.business) }} 
      </div> 
     </div> 

生成下面的HTML代码:

<div class="form-group"> 
    <div class="col-sm-offset-3 col-sm-9"> 
     <div id="cuslocation_accountreg_business"> 
     <input type="radio" id="cuslocation_accountreg_business_0" name="cuslocation[accountreg][business]" required="required" value="0" /> 
     <label for="cuslocation_accountreg_business_0" class="required">Business</label> 
     <input type="radio" id="cuslocation_accountreg_business_1" name="cuslocation[accountreg][business]" required="required" value="1" /> 
     <label for="cuslocation_accountreg_business_1" class="required">Private</label> 
     </div> 
    </div> 
</div> 

我想生成以下html代码,以便获得bootstrap外观:

<div class="form-group"> 
    <div class="col-sm-offset-3 col-sm-9"> 
     <div id="cuslocation_accountreg_business"> 
     <label class="required radio-inline" for="cuslocation_accountreg_business_0"> 
      <input type="radio" id="cuslocation_accountreg_business_0" name="cuslocation[accountreg][business]" required="required" value="0" />Business 
     </label> 
     <label class="required radio-inline" for="cuslocation_accountreg_business_1"> 
      <input type="radio" id="cuslocation_accountreg_business_1" name="cuslocation[accountreg][business]" required="required" value="1" />Private 
      </label> 
     </div> 
    </div> 
</div> 

什么是最好的方式来产生这种树枝?

回答

0

你可以在树枝风格的形式:

<div> 
    {{ form_label(form.age) }} 
    {{ form_widget(form.name, { 'attr': {'class': 'foo'} }) }} 
</div> 

等。 Link to docs

编辑:More suitable for the question

+0

我知道,只是在输入字段中投放一个类。但我想在标签字段中嵌入输入字段。 form_label只给出了字段的主名称,并非所有选项的子名称 – Tom

+0

然后你可以用你的逻辑覆盖选择小部件,就像这里:[link](https://github.com/symfony/symfony/blob/ master/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig#L95),然后像这样使用:[link](http://symfony.com/doc/current/cookbook/form/ form_customization.html#method-1-inside-the-same-template-as-the-the-form) – uikolas

1

有一种方法,以主题它必须是自举3标准清晰度的方式形成。由于Symfony的2.6,你能够激活内置自举3主题在你的config.yml

请看看:http://symfony.com/blog/new-in-symfony-2-6-bootstrap-form-theme

但是,如果你正在使用的Symfony> 2.8所描述的方式已经过时了。所以请考虑“新”的配置方式,你会发现有:http://symfony.com/doc/current/cookbook/form/form_customization.html#twig

希望这会帮助你,

亲切的问候!

+0

感谢分享,我不知道这存在。我已经尝试过,但不喜欢像col-sm-3这样的重新定义的引导类,在我的情况下它需要更宽。 – Tom

+0

你甚至可以覆盖引导主题文件。在以下链接下列出并记录了不同的方式。我已经使用“方法2:在一个单独的模板内”,这对于特定的自定义非常有用:http://symfony.com/doc/current/cookbook/form/form_customization.html#form-theming-in-twig – barbieswimcrew