alp*_*din 8 symfony sonata-admin
如您所知,sonata admin捆绑包在编辑页面中有三个按钮,分别是"添加新的,更新和删除".我可以删除删除按钮:
protected function configureRoutes(RouteCollection $collection)
{
$collection
->remove('delete')
;
}
Run Code Online (Sandbox Code Playgroud)
但我想在编辑UserAdmin时添加"向用户发送消息"按钮.我怎样才能做到这一点?我在sonata docs中找不到任何关于它的文档.
fiv*_*ive 14
如果文件在其他命名空间中,您应该提示参数,并且add()方法应该可以工作,但是您必须覆盖Sonata的CRUD模板才能显示其他按钮/链接.
此外,您可以定义将被调用的控制器和操作.
例如:
src/Acme/DemoBundle/Admin/EntityAdmin.php:
protected function configureRoutes(\Sonata\AdminBundle\Route\RouteCollection $collection)
{
$collection
->add('dummy',
'dummy/{id}',
array('_controller' => 'AcmeDemoBundle:Default:dummy'),
array('id' => '\d+')
)
;
}
Run Code Online (Sandbox Code Playgroud)
的src/Acme公司/ HelloBundle /控制器/ DefaultController.php:
/**
@Route("/dummy/{id}", name="dummy",
requirements={"id" = "\d+"}
)
@Template("AcmeDemoBundle:Default:dummy.html.twig")
*/
public function dummyAction($id)
{
return(array(
'id' => $id
));
}
Run Code Online (Sandbox Code Playgroud)
应用程序/资源/ SonataAdminBundle /视图/ CRUD/base_edit_form.html.twig:
{% block form %}
...
{% else %}
...
{% block formactions %}
...
{% else %}
...
{% if admin.id(object) %}
...
{% if admin.hasroute('dummy') %}
<a class="btn" target="_blank" href="{{ admin.generateObjectUrl('dummy', object) }}">{% trans from 'SonataAdminBundle' %}link_dummy{% endtrans %}</a>
{% endif %}
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14905 次 |
最近记录: |