gpt4 book ai didi

symfony - 添加自定义按钮以编辑奏鸣曲管理包的页面

转载 作者:行者123 更新时间:2023-12-04 05:55:07 25 4
gpt4 key购买 nike

如您所知,奏鸣曲管理包在编辑页面中带有三个按钮,分别是“添加新的、更新的和删除的”。我可以用这个删除删除按钮:

protected function configureRoutes(RouteCollection $collection)
{
$collection
->remove('delete')
;

}

但我还想在 UserAdmin 的编辑中添加“向用户发送消息”按钮。我怎样才能做到这一点?我在奏鸣曲文档中找不到任何关于此的文档。

最佳答案

如果文件在其他命名空间中,您应该提示参数,并且 add() 方法应该可以工作,但是您必须覆盖 Sonata 的 CRUD 模板才能显示其他按钮/链接。
此外,您可以定义将被调用的 Controller 和 Action 。

例如:
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+')
)
;
}

src/Acme/HelloBundle/Controller/DefaultController.php:
/**
@Route("/dummy/{id}", name="dummy",
requirements={"id" = "\d+"}
)
@Template("AcmeDemoBundle:Default:dummy.html.twig")
*/
public function dummyAction($id)
{
return(array(
'id' => $id
));
}

app/Resources/SonataAdminBundle/views/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 %}
...

关于symfony - 添加自定义按钮以编辑奏鸣曲管理包的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com