【问题标题】:Easyadmin 3 - How to render embedded form?Easyadmin 3 - 如何呈现嵌入式表单?
【发布时间】:2021-08-31 11:05:51
【问题描述】:

我正在尝试 EasyAdmin,但我完全迷失了。 我有实体 A,其中包含与实体 B 的关系(包含多个字段)。

在实体 A 的 CrudController 中,如果我想显示关系中的字段(所以,实体 B),我应该怎么做?

在我目前的情况下,我有一个 Portfolio 实体,它与 UserDetails 有关系(并且它包含几个字段,因此我想以 Portfolio 实体的形式显示这些字段) 我像往常一样为我的 UserDetails 类创建了一个 FormType。在我的 CRUD 控制器中,对于 Portfolio 实体,我输入了这个:

public function configureFields(string $pageName): iterable
    {
        return [
            IdField::new('id'),
                        FormField::addPanel()->setProperty('userDetails')->setFormType(ProjectUserDetailsType::class)

        ];
    }

这是正确的方法吗?这个FormField中包含的字段会被正确映射吗?

另一方面,在渲染时,这个“子表单”是居中的,不像其他的。

【问题讨论】:

    标签: php symfony embed easyadmin


    【解决方案1】:

    当您尝试嵌入单个对象或表单时,您可以关注this doc 如果您还想使用所谓的原型嵌入对象集合there is a way

    为了呈现表单和样式,您可以单独呈现每个部分,并在 twig 文件或表单定义中添加适当的样式。

    #rendering with twig
    {{ form_label(form.field, 'label', { 'attr': {'class': 'foo'} }) }}
    {{ form_widget(form.field, { 'attr': {'class': 'bar'} }) }}
    
    #rendering inside html tags
    <div class="form-control">
    <i class="fa fa-calendar"></i> {{ form_label(form.dueDate) }}
    {{ form_widget(form.dueDate) }}
    
    <small>{{ form_help(form.dueDate) }}</small>
    
    <div class="form-error">
        {{ form_errors(form.dueDate) }}
    </div>
    

    【讨论】:

      猜你喜欢
      • 2020-11-07
      • 1970-01-01
      • 2021-09-01
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      相关资源
      最近更新 更多