我想知道是否有办法使用 EasyAdmin 4 和 Symfony 7 将内容包含在 CRUD 控制器中。我已阅读所有文档并在互联网上搜索,但找不到任何解决方案。
例如,我有一个用于“关键字”的 CRUD 控制器:
且关键词与“作品”相关。我知道如何过滤给定作品的关键字列表,并进行相应的操作。我想知道是否有办法在 CRUD 控制器中过滤关键字时显示有关所选作品的更多信息,例如(我在 Paint 上做到了):
可能是 EasyAdmin 将模板创建为模块的方式,允许用户替换部分表单,有这样的解决方案。有什么想法吗?
可以通过覆盖
main
模板上的块 index.html.twig
来获得这样的结果。比如:
{% extends '@!EasyAdmin/crud/index.html.twig' %}
{% block main %}
Put your code here.
{{ parent() }}
{% endblock %}
需要调用
parent()
来显示更改后的表格。
在CRUD控制器上,需要通知覆盖:
public function configureCrud(Crud $crud): Crud
{
return parent::configureCrud($crud)
->overrideTemplate('crud/index', 'admin/crud/index.html.twig')
;
}
该文件可以位于
templates
文件夹内的任何位置,或者如果您愿意,可以使用 Symfony 机制来覆盖模板。