Sonata Admin,内联编辑实体
Posted
技术标签:
【中文标题】Sonata Admin,内联编辑实体【英文标题】:Sonata Admin, edit entity inline 【发布时间】:2014-12-04 04:32:41 【问题描述】:我正在使用 Sonata Admin,但我对内联版有疑问。
我知道有一个选项->add('adresse', null, array('editable' => true))
可以直接在表格中编辑所有信息。
但在这种情况下,地址是一个文本字段。例如,如何使用实体字段来做到这一点?示例:
->add('agent', 'entity', array(
'class' => 'CrmBundle:User',
'query_builder' => function(EntityRepository $er)
return $er->createQueryBuilder('u')
->where('u.type = ?1 ')
->groupBy('u.id')
->orderBy('u.id', 'ASC')
->setParameters(array(1 => 'Agent'));
))
我需要能够直接在表中更改实体字段。有什么想法吗?
【问题讨论】:
【参考方案1】:尚不支持内联编辑相关实体字段。您必须创建自定义列表字段模板。在此模板中,您应该放置表单和 javascript 代码。用户编辑字段后,应该向您的自定义控制器发出 ajax 请求,该控制器会将值存储到数据库中。
【讨论】:
以上是关于Sonata Admin,内联编辑实体的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Sonata Admin 编辑视图中自定义实体关联的 SQL 查询
Sonata Admin:添加自定义触发器/动作到列表/编辑动作
Sonata Admin Bundle ACL 不授予编辑权限
有没有办法确定 Sonata\AdminBundle\Admin\Admin::configureFormFields() 中的当前操作(创建或编辑)?