【问题标题】:Symfony3 apply class to each div of generated formSymfony3 将类应用于生成表单的每个 div
【发布时间】:2016-04-04 12:57:41
【问题描述】:

我想将 css 类 'pure-control-group' 应用于生成表单的所有 div em>。

<form name="form" method="post" class="pure-form pure-form-aligned">
    <div>
        <label for="form_Title" class="required">Titre</label>
        <select id="form_Title" name="form[Title]" class="pure-control-group">            
            <option value="Modification" >Modification</option>
            <option value="Construction" >Construction</option>
            <option value="Autre" >Autre</option>
        </select>
    </div>
    <div>
        <label for="form_ContactWay" class="required">Moyen de Contact</label>
        <select id="form_ContactWay" name="form[ContactWay]" class="pure-control-group">            
            <option value="Telephone" >Téléphone</option>            
            <option value="Email" >Email</option>            
            <option value="Direct" >Direct</option>            
            <option value="Autre" >Autre</option>
        </select>
    </div>
    <div>
        <label for="form_Log" class="required">Journal</label>
        <textarea id="form_Log" name="form[Log]" required="required" class="pure-control-group"></textarea>
    </div>
    <div>
        <button type="submit" id="form_Enregistrer" name="form[Enregistrer]">Enregistrer</button>
    </div>
    <input type="hidden" id="form__token" name="form[_token]" value="c19WunU5AgDgc954I3DRJXLqEhQwpOyDCBZEpF7akJs" />
</form>

我试过了:

$this->logForm = $this->createFormBuilder($log, array('allow_extra_fields' => true))
->add('Title',          ChoiceType::class, array(
    'label' => 'Titre',
    'choices' => array(
        'Modification' => 'Modification',
        'Construction' => 'Construction',
        'Autre' => 'Autre'),
    'attr'=> array('class'=>'pure-control-group')))
->add('ContactWay',     ChoiceType::class, array(
    'label' => 'Moyen de Contact',
    'choices' => array(
        'Téléphone' => 'Telephone',
        'Email' => 'Email',
        'Direct' => 'Direct',
        'Autre' => 'Autre'),
    'attr'=> array('class'=>'pure-control-group')))
->add('Log',        TextareaType::class, array(
    'label'=> 'Journal',
    'attr'=> array('class'=>'pure-control-group')))
->add('Enregistrer',    SubmitType::class)
->getForm();

问题是类被添加到输入中。 label_attr 做这项工作,但要为标签。

我可以为 div 做些什么?

请注意,我希望不要手动渲染每个字段。

【问题讨论】:

  • 你在说什么div?
  • 我已经使用自动生成的表单进行了编辑。

标签: html css forms symfony


【解决方案1】:

您可以modify the template for the form row。在呈现表单的模板中执行此操作:

{% form_theme form _self %}

{%- block form_row -%}
    <div class="pure-control-group">
        {{- form_label(form) -}}
        {{- form_errors(form) -}}
        {{- form_widget(form) -}}
    </div>
{%- endblock form_row -%}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 2011-12-18
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多