Sonata Admin 覆盖模板 form_admin_fields.html.twig

Posted

技术标签:

【中文标题】Sonata Admin 覆盖模板 form_admin_fields.html.twig【英文标题】:Sonata Admin override template form_admin_fields.html.twig 【发布时间】:2018-04-13 23:11:25 【问题描述】:

我想完全自定义扩展选项在管理员编辑表单中的外观。我找到了一个显示它的模板:

vendor/sonata-project/admin-bundle/Resources/views/Form/form_admin_fields.html.twig

我还找到了可以在 SonataAdmin 中覆盖的模板列表 https://sonata-project.org/bundles/admin/master/doc/reference/templates.html 不幸的是,列表中没有 form_admin_fields.html.twig。所以我想知道如何从该模板覆盖该模板或至少 % block choice_widget_expanded %

【问题讨论】:

只是一个想法:构建您自己的表单类型并在奏鸣曲管理员中使用它,symfony.com/doc/current/form/create_custom_field_type.html 【参考方案1】:

我相信这必须在存储包的级别上被覆盖。

例如,如果使用 Doctrine 和 SonataAdminDoctrineOrmBundle,它可以很容易地在配置中被覆盖,如下所示:

sonata_doctrine_orm_admin:
    templates:
        form: ["My/Templates/form_admin_fields.html.twig"]

请务必在您自己的 form_admin_fields.html.twig 中扩展学说 form_admin_fields.html.twig(而不是基本奏鸣曲 admin twig 文件),即:

% extends '@SonataDoctrineORMAdmin/Form/form_admin_fields.html.twig' %

【讨论】:

谢谢你,摇滚!

以上是关于Sonata Admin 覆盖模板 form_admin_fields.html.twig的主要内容,如果未能解决你的问题,请参考以下文章

Sonata Admin Bundle - 表单类型:sonata_type_collection - 自定义模板?

在 Sonata Admin 中禁用搜索

Sonata Admin Bundle + Sonata User Bundle:覆盖登录表单

在 Sonata Admin 登录屏幕上覆盖翻译

Sonata Admin Bundle - 自定义模板

Sonata Admin - default_locale 被后备覆盖