2

我正在尝试覆盖 EasyAdmin 的“新”模板,但系统忽略了模板代码。这是easy_admin.yaml的相关部分

entities:
       # List the entity class name you want to manage
      Places:
          class: App\Entity\Places
          templates:
              list: 'asdfasdf'

如您所见,列表属性的值无效,但系统会忽略它并且可以正常工作,并且我无法覆盖模板。

你有什么建议吗?

4

2 回答 2

1

如果您使用 EasyAdmin 3.x,您可以覆盖在实体的控制器中指定它的特定模板,或者您可以像 symfony 一样创建自己的文件夹结构。

在这个例子中,我只覆盖了我的 'studient' 实体的编辑模板,如果你想改变你项目的所有编辑,你必须像 symfony 一样通过创建文件夹结构来做到这一点。

public function configureCrud(): Crud
{
    return Crud::new()
       
        ->overrideTemplate('crud/edit', 'studient/edit.html.twig')
    ;
}

您甚至可以结合使用这两种方法。假设除了只修改学生的模板“编辑”之外,您还想修改 easyadmin 显示Flash 消息的方式,您只需在模板文件夹中创建此结构:“templates\bundles\EasyAdminBundles\flash_messages. html.twig"

我留下了 EasyAdmin 3.x 覆盖模板文档的链接

于 2021-01-18T06:03:10.770 回答
0

所以,正如我在评论中提到的 - 由于某种原因,如果指定的模板不存在,easyadmin 不会给出任何错误。因此,您只需将新模板放在templates文件夹中,例如,templates/admin/listPlaces.html.twig然后在 easyadmin 的配置文件中指定正确的路径,例如:

entities:
    Places:
        class: App\Entity\Places
        templates:
             list: 'admin/listPlaces.html.twig'
于 2019-03-13T18:30:41.133 回答