我需要在EasyAdmin捆绑包中自定义表单视图字段(编辑表单字段)。在列表视图中的操作如下:
- { property: 'images', template: 'custom_template.html.twig'}
如何在表单视图(编辑模式)中实现相同的功能?自定义模板不适用于表单视图(编辑视图)。所以我做了一个自定义字段类型
- { property: 'images', type: 'App\Form\Type\MyImagesType'}
但是不知道如何实现自定义模板。
class MyImagesType extends CollectionType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$form->add($key, FileType::class, ['multiple'=>true, 'required'=>false]);
}
}
我想通过插入以下脚本将dopzone.js集成到我的表单中:
<script src="./public/dropzone.js"></script>
<form action="{{ oneup_uploader_endpoint('gallery') }}" class="dropzone" style="width:200px; height:200px; border:4px dashed black">
</form>
答案 0 :(得分:1)
EasyAdmin依赖Symfony的Form组件来进行与编辑/新视图相关的任何操作。这意味着在列表/显示/搜索中用于自定义每个属性的呈现的简单机制不可用。
如https://symfony.com/doc/master/bundles/EasyAdminBundle/book/edit-new-configuration.html#advanced-design-configuration中所述,替代方法是覆盖默认模板或创建自己的表单主题。
希望该提案获得批准并合并后,Symfony会尽快简化这一过程:https://github.com/symfony/symfony/issues/29651
答案 1 :(得分:0)
像这样:
# config/packages/easy_admin.yaml
easy_admin:
entities:
Customer:
class: App\Entity\Customer
form: # <-- 'form' is applied to both 'new' and 'edit' views
fields:
- 'id'
- { property: 'email', type: 'email', label: 'Contact' }
# ...
# ...