集合类型内联模板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合类型内联模板相关的知识,希望对你有一定的参考价值。

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

我尝试添加一个模板,然后使用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'
    ]);
}

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

答案

您可以覆盖管理员模板,如此处所示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

以上是关于集合类型内联模板的主要内容,如果未能解决你的问题,请参考以下文章

ionic内联模板 ionic3还在用吗?

inline内联函数

2C++ 的升级

<code> vs <pre> vs <samp> 用于内联和块代码片段

使用内联方式展示Razor视图

Kotlin高阶函数内联函数以及集合变换序列