symfony - Symfony 形式的奏鸣曲字段类型
问题描述
我需要创建一个自定义表单,但在 Symfony 中使用,因此我必须创建一个 Symfony 表单。但是,我希望能够使用 Sonta 字段类型提供的功能,例如ModeListType::class
.
到目前为止,我已经在我的管理员上创建了一个自定义路由,在控制器操作中我创建了一个新的 Symfony 表单。然后,控制器操作返回一个视图,其表单扩展了 Sonata 基本编辑布局。
class ExampleController
{
public function exampleAction(Request $request)
{
$order = new FooBar();
$modelManager = $this->get('sonata.admin.manager.orm');
$form = $this->createForm(ExampleType::class, $order, [
'model_manager' => $modelManager,
]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
//
}
return $this->renderWithExtraParams('admin/test.html.twig', [
'form' => $form->createView(),
'action' => 'create',
'object' => $order,
'objectId' => null,
]);
}
}
我的表格:
class ExampleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('job', ModelListType::class, [
'model_manager' => $options['model_manager'],
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => FooBar::class,
]);
$resolver->setRequired([
'model_manager',
]);
}
}
还有我的模板:
{% extends 'bundles/SonataAdminBundle/CRUD/base_edit.html.twig' %}
{% import "@SonataAdmin/CRUD/base_edit_form_macro.html.twig" as
form_helper %}
{% block title %}
Here
{% endblock %}
{% block sonata_tab_content %}
<div class="col-md-12">
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<div class="box-body">
{{ form(form) }}
</div>
</div>
</div>
</div>
</div>
{% endblock %}
这会呈现一个没有附加按钮的输入,例如:List、Add、Delete。单击输入也不会执行任何操作,因此它不会被视为奏鸣曲输入。
解决这个问题的任何帮助都会很棒。
解决方案
当您覆盖{% block sonata_tab_content %}
时,也许您应该尝试放入
{% block formactions %}{{parent()}}{{% endblock %}
{% block sonata_tab_content %}
<div class="col-md-12">
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<div class="box-body">
{{ form(form) }}
</div>
</div>
</div>
</div>
</div>
{% block formactions %}
{{parent()}}
{{% endblock %}
{% endblock %}
推荐阅读
- javascript - 从 Formik 字段中的 Material UI 组件的 AutoComplete 中不显示 InitialValues
- r - 将点从平均值分成相等的组
- .net-core - swashbuckle 5.3.1 swagger ui 不发送授权标头
- r - 如何在R中的热图右侧绘制颜色索引?
- node.js - Node.js 自签名证书在我的浏览器中仍显示为“不受信任”
- python - .dt.strftime 返回错误的日期 Pandas
- python - 在 LOCAL INFILE 导入之前从字符串中删除 ()
- java - 从 inMemoryAuthentication() -WebSecurityConfigurerAdapter 中提取用户名
- elasticsearch - 在 Elasticsearch 搜索中,GET 请求的查询字符串参数和 POST 请求的“查询 DSL”在功能上是否等效?
- visual-studio - 结构的第一个成员在 VS 调试器中不可见