如何在SonataAdminBundle中设置Admin类,以显示在模态窗口中添加/编辑实体的表单?如下所示:
答案 0 :(得分:2)
手动,你可以自己做。
添加您的配置服务
calls:
- [ setTemplate, [list, AcmeYourBundle:Your:base_list.html.twig]]
- [ setTemplate, [edit, AcmeYourBundle:Your:base_edit.html.twig]]
在您的管理包中,在configureListFields
中添加自定义模板protected function configureListFields(ListMapper $listMapper) {
$listMapper
->add('_action', 'actions', array(
'actions' => array(
'edit' => array('template' => 'AcmeYourBundle:Your:_action_edit.html.twig'),
)
));
}
_action_edit.html.twig
{% if admin.hasRoute('edit') and admin.id(object) and admin.isGranted('EDIT', object)%}
<a class="edit sonata-action-element" href="{{ admin.generateObjectUrl('edit', object) }}">
<i class="fa fa-edit"></i>
{{ 'link_action_edit'|trans({}, 'SonataAdminBundle') }}
</a>
{% endif %}
在base_list.html.twig中添加javascript代码
<script type="text/javascript">
$(document).ready(function() {
$('a.edit').click(function() { //bind handlers
var url = $(this).attr('href');
showDialog(url);
return false;
});
$("#targetDiv").dialog({
autoOpen: false,
height: 700,
width: 950,
modal: true
});
function showDialog(url) {
$("#targetDiv").load(url);
$("#targetDiv").dialog("open");
}
});
</script>
完成!享受它。
答案 1 :(得分:0)
目前尚不支持此功能,这是一项计划功能,但暂时没有ETA。