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
我正在尝试覆盖 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