You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SonataAdmin:如何修改列表视图中的按钮

修改SonataAdminBundle列表视图中的编辑按钮图标

嘿,我来帮你搞定这个图标修改的事儿!首先得提醒你:千万别直接修改vendor目录里的模板文件,因为一旦更新SonataAdminBundle,你的改动就会被覆盖掉。正确的做法是在自己的项目里重写这个模板,步骤如下:

1. 复制模板到项目目录

根据你的Symfony版本,把Sonata的edit_button.html.twig模板复制到项目对应的路径:

  • Symfony 4及以上版本:放到templates/bundles/SonataAdminBundle/CRUD/目录下(如果目录不存在,自己创建)
  • Symfony 3及更早版本:放到app/Resources/SonataAdminBundle/views/CRUD/目录下

把你找到的vendor里的edit_button.html.twig内容完整复制到这个新文件里。

2. 修改图标类

找到代码里的<i class="fa fa-edit" aria-hidden="true"></i>这一行,把fa-edit替换成你想要的Font Awesome图标类。比如换成铅笔图标可以用fa-pencil-alt(Font Awesome 5+的类名),或者你自定义的图标类。

修改后的完整代码示例:

{% if admin.canAccessObject('edit', object) and admin.hasRoute('edit') %}
    <li>
        <a class="sonata-action-element" href="{{ admin.generateObjectUrl('edit', object) }}">
            <i class="fa fa-pencil-alt" aria-hidden="true"></i>
            {{ 'link_action_edit'|trans({}, 'SonataAdminBundle') }}
        </a>
    </li>
{% endif %}

3. 清除缓存(可选)

如果你的Symfony开启了模板缓存,可能需要运行缓存清除命令让改动生效:

# Symfony 4+
php bin/console cache:clear

# Symfony 3及更早
php app/console cache:clear

这样一来,列表视图里的编辑按钮图标就变成你想要的样子啦!

内容的提问来源于stack exchange,提问作者Aviel Pap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:13:22