Symfony 4-组织字段的布局

问题描述 投票:0回答:2

使用Symfony 4,我想知道是否有一种简单的方法来组织显示字段的布局。

目前,我将视图中的所有内容模板化(例如,具有2列):

<div class="row">
    <div class="col-md-6">
        {{ form_row(form.name) }}
    </div>
    <div class="col-md-6">
        {{ form_row(form.company) }}
    </div>
</div>
{{ form_rest(form) }}

但是,我不想这样做,我只想在我的视图中呈现整个表单,并在FormBuilder中管理模板。我想写点像:

$builder
    ->add('<div class="row"><div class="col-md-6">', HtmlType::class)
    ->add('name', TextType::class, [
        'label' => 'Nom'
    ])
    ->add('</div><div class="col-md-6">', HtmlType::class)
    ->add('company', TextType::class, [
        'label' => 'Société cliente'
    ])
    ->add('</div></div>', HtmlType::class);

我看了一下文档,但效果很差,它显示了如何从现有字段中插入内容。

是否有创建此HtmlType的方法来处理简单的Html标签?还是更好的方法?

symfony symfony-forms
2个回答
0
投票

您应该可以执行类似的操作:

$builder->add('your_field', YourFieldClass::class, [
    'attr' => ['class' => 'your css class'],
]);

0
投票

最佳解决方案是创建自定义表单主题。参考文档为here。我还没有亲自创建自定义网格,但是我想您可以使用OptionResolver创建一些自定义类型选项,该选项将告诉您的模板如何组织字段,然后基于此您可以根据需要组织自定义表单主题。

© www.soinside.com 2019 - 2024. All rights reserved.