EasyAdmin 使用您自己的模板问题

EasyAdmin Using your Own Templates Problem

我正在尝试覆盖 EasyAdmin 的 "new" 模板,但系统忽略了模板代码。 这是easy_admin.yaml

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

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

你有什么建议吗?

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

entities:
    Places:
        class: App\Entity\Places
        templates:
             list: 'admin/listPlaces.html.twig'

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

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

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

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

我将 link 与 EasyAdmin 3.x 的文档放在一起 overriding-templates