在sonata admin Bundle的List视图中添加新Button

Alo*_*lil 4 view symfony twig sonata-admin

也许问题太容易回答,但我在sonata管理包的文档中搜索,我没有找到我需要的东西.当您在sonata admin Bundle中导航到模型的List视图时,您会在右上角找到Action Button,并在其下面找到add new action.在我的情况下,我需要添加新动作直接在视图中显示在此截图中: 在此输入图像描述

有人可以帮我吗?

Ale*_*aut 9

我知道这是一个老问题,但我会留下这个答案以供将来参考.

我必须做类似的事情,这就是我做的.

在您的管理类中重写configureActionButtons()方法

class YourAdmin extends AbstractAdmin
{
    //...
    /**
     * Overriden from (AbstractAdmin)
     */
    public function configureActionButtons($action, $object = null)
    {
        $list = parent::configureActionButtons($action,$object);

        $list['custom_action'] = array(
                'template' =>  'AcmeBundle:YourAdmin:custom_button.html.twig',
        );

        return $list;
    }
    //...

}
Run Code Online (Sandbox Code Playgroud)

然后在AcmeBundle/Resources/views/YourAdmin/custom_button.html.twig中创建按钮

{# custom_button.html.twig #}    
<a class="sonata-action-element" href="{{ admin.generateUrl('your_route') }}">
   <i class="fa fa-plus-circle"></i>Custom Action
</a>
Run Code Online (Sandbox Code Playgroud)

当然,您可以在之后添加权限检查(为清楚起见,省略了它们)

希望它对某人有帮助