集合类型内联模板



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

我尝试添加一个模板,然后在字段上使用template作为属性,但没有成功。

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

我的自定义管理编辑模板etc网站在templates/admin/

我还向集合使用的管理员添加了方法getFormTheme(),并添加了一个dump-and-die,以查看它是否被调用,并且它没有dump-and-die。

// 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

相关内容

  • 没有找到相关文章

最新更新