Gui*_*rez 6 modal-dialog symfony sonata-admin
如何在SonataAdminBundle中设置Admin类,以显示在模态窗口中添加/编辑实体的表单?如下所示:

手动你可以自己做。
添加您的配置服务
calls:
- [ setTemplate, [list, AcmeYourBundle:Your:base_list.html.twig]]
- [ setTemplate, [edit, AcmeYourBundle:Your:base_edit.html.twig]]
Run Code Online (Sandbox Code Playgroud)在您的管理包中,在configureListFields中添加自定义模板
protected function configureListFields(ListMapper $listMapper) {
$listMapper
->add('_action', 'actions', array(
'actions' => array(
'edit' => array('template' => 'AcmeYourBundle:Your:_action_edit.html.twig'),
)
));
}
Run Code Online (Sandbox Code Playgroud)_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 %}
Run Code Online (Sandbox Code Playgroud)在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>
Run Code Online (Sandbox Code Playgroud)完毕 !好好享受。
| 归档时间: |
|
| 查看次数: |
3680 次 |
| 最近记录: |