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
相关产品推荐
相关产品推荐

