集合类型内联模板

问题描述 投票:1回答:1

我想为我的内联集合创建一个自定义模板,因为内联不适合。我正在努力弄清楚如何获得自定义模板来呈现。

我尝试添加一个模板,然后使用template作为该字段的属性,这不起作用。

->add('pictures', CollectionType::class, [
    'by_reference' => false,
    'label' => false,
], [
    'edit' => 'inline',
    'inline' => 'table',
    'template' => 'admin/picture/test.html.twig'
])

我的模板用于自定义管理员编辑等模板/ admin /中的网站

我还将方法getFormTheme()添加到集合使用的管理员,并添加了转储和死亡,以查看它是否被调用,它不会转储和死亡。

// PicutreAdmin.php

public function getFormTheme()
{
    return array_merge(parent::getFormTheme(), [
        'admin/picture/test.html.twig'
    ]);
}

注意我希望此模板仅适用于此特定集合,而不是我正在使用的其他集合。

symfony sonata-admin symfony4 sonata symfony-sonata
1个回答
0
投票

您可以覆盖管理员模板,如此处所示https://sonata-project.org/bundles/admin/master/doc/reference/templates.html扩展它并使用此处描述的策略https://symfony.com/doc/4.0/form/form_customization.html如何自定义单个字段

但请注意,Sonata为所有表单元素名称添加了自定义前缀,因此您必须弄清楚该集合的命名方式,您可以通过调试表单块来实现这一点,本文可能会帮助您https://blog.bouzekri.net/2015-02-06-symfony-tips-find-form-theme-override-block-name.html

© www.soinside.com 2019 - 2024. All rights reserved.